{"internalDocumentIDStore":{"internalIdToId":["06034991-1","06034991-2","06034991-3","06034991-4","06034991-5","06034991-6","06034991-7","06034991-8","06034991-9","06034991-10","06034991-11","06034991-12","06034991-13","06034991-14","06034991-15","06034991-16","06034991-17","06034991-18","06034991-19","06034991-20","06034991-21","06034991-22","06034991-23","06034991-24","06034991-25","06034991-26","06034991-27","06034991-28","06034991-29","06034991-30","06034991-31","06034991-32","06034991-33","06034991-34","06034991-35","06034991-36","06034991-37","06034991-38","06034991-39","06034991-40","06034991-41","06034991-42","06034991-43","06034991-44","06034991-45","06034991-46","06034991-47","06034991-48","06034991-49","06034991-50","06034991-51","06034991-52","06034991-53","06034991-54","06034991-55","06034991-56","06034991-57","06034991-58","06034991-59","06034991-60","06034991-61","06034991-62","06034991-63","06034991-64","06034991-65","06034991-66","06034991-67","06034991-68","06034991-69","06034991-70","06034991-71","06034991-72","06034991-73","06034991-74","06034991-75","06034991-76","06034991-77","06034991-78","06034991-79","06034991-80","06034991-81","06034991-82","06034991-83","06034991-84","06034991-85","06034991-86","06034991-87","06034991-88","06034991-89","06034991-90","06034991-91","06034991-92","06034991-93","06034991-94","06034991-95","06034991-96","06034991-97","06034991-98","06034991-99","06034991-100","06034991-101","06034991-102","06034991-103","06034991-104","06034991-105","06034991-106","06034991-107","06034991-108","06034991-109","06034991-110","06034991-111","06034991-112","06034991-113","06034991-114","06034991-115","06034991-116","06034991-117","06034991-118","06034991-119","06034991-120","06034991-121","06034991-122","06034991-123","06034991-124","06034991-125","06034991-126","06034991-127","06034991-128","06034991-129","06034991-130","06034991-131","06034991-132","06034991-133","06034991-134","06034991-135","06034991-136","06034991-137","06034991-138","06034991-139","06034991-140","06034991-141","06034991-142","06034991-143","06034991-144","06034991-145","06034991-146","06034991-147","06034991-148","06034991-149","06034991-150","06034991-151","06034991-152","06034991-153","06034991-154","06034991-155","06034991-156","06034991-157","06034991-158","06034991-159","06034991-160","06034991-161","06034991-162","06034991-163","06034991-164","06034991-165","06034991-166","06034991-167"]},"index":{"indexes":{"url":{"type":"Radix","node":{"w":"","s":"","c":{"0":{"w":"0","s":"0","c":{"b":{"w":"0beta","s":"beta","c":{},"d":[4,6,14,21],"e":true}},"d":[7,8,9,10,11,12,13,15,16,17,18,19,20],"e":true},"1":{"w":"1","s":"1","c":{"6":{"w":"16c32g","s":"6c32g","c":{},"d":[125],"e":true}},"d":[21],"e":true},"2":{"w":"2","s":"2","c":{"b":{"w":"2beta","s":"beta","c":{},"d":[5],"e":true}},"d":[18,19,20],"e":true},"3":{"w":"3","s":"3","c":{"2":{"w":"32c64g","s":"2c64g","c":{},"d":[124],"e":true},"p":{"w":"3p","s":"p","c":{},"d":[43],"e":true}},"d":[14,15,16,17],"e":true},"4":{"w":"4","s":"4","c":{},"d":[5,6,7,8,9,10,11,12,13],"e":true},"5":{"w":"5","s":"5","c":{},"d":[4],"e":true},"p":{"w":"p","s":"p","c":{"s":{"w":"psi","s":"si","c":{"_":{"w":"psi_","s":"_","c":{"p":{"w":"psi_protocol_intro","s":"protocol_intro","c":{},"d":[41,42,43,44,45,46,47,48,49,50],"e":true},"v":{"w":"psi_v2","s":"v2","c":{"_":{"w":"psi_v2_","s":"_","c":{"c":{"w":"psi_v2_config","s":"config","c":{},"d":[60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80],"e":true},"b":{"w":"psi_v2_benchmark","s":"benchmark","c":{},"d":[149,150,151,152,153,154,155,156,157],"e":true}},"d":[],"e":false}},"d":[128,129,130,131,132,133,134],"e":true},"c":{"w":"psi_config","s":"config","c":{},"d":[81,82,83,84,85,86,87,88,89,90,91,92,93],"e":true}},"d":[],"e":false},"c":{"w":"psiconfig","s":"config","c":{},"d":[70,77],"e":true},"r":{"w":"psiresultreport","s":"resultreport","c":{},"d":[89],"e":true},"t":{"w":"psitype","s":"type","c":{},"d":[92],"e":true}},"d":[1,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,33,34,35,36,37,38,39,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,51,52,53,54,55,56,57,58,59,60,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,128,129,130,131,131,132,133,134,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,149,150,151,152,153,154,155,155,156,157,158,158,158,159,159,160,160,161,161,162,162,162,163,163,164,164,165,165,165,166,166,166,167,167],"e":true},"y":{"w":"python","s":"ython","c":{},"d":[27],"e":true},"a":{"w":"pa","s":"a","c":{"c":{"w":"packages","s":"ckages","c":{},"d":[27],"e":true},"r":{"w":"par","s":"r","c":{"t":{"w":"party","s":"ty","c":{"p":{"w":"partyproto","s":"proto","c":{},"d":[110],"e":true}},"d":[102],"e":true},"a":{"w":"params","s":"ams","c":{},"d":[142],"e":true}},"d":[],"e":false}},"d":[],"e":false},"r":{"w":"pr","s":"r","c":{"o":{"w":"protocol","s":"otocol","c":{"s":{"w":"protocols","s":"s","c":{},"d":[41,136,159],"e":true},"c":{"w":"protocolconfig","s":"config","c":{},"d":[69],"e":true}},"d":[76],"e":true},"i":{"w":"private","s":"ivate","c":{},"d":[45],"e":true},"e":{"w":"prepare","s":"epare","c":{},"d":[119,130,140,152,160],"e":true}},"d":[],"e":false},"i":{"w":"pir","s":"ir","c":{"_":{"w":"pir_config","s":"_config","c":{},"d":[52,53,54,55,56,57,58,59],"e":true},"r":{"w":"pirresultreport","s":"resultreport","c":{},"d":[57],"e":true}},"d":[52,135,135,136,137,138,138,139,140,141,142,143,143,144,145],"e":true},"o":{"w":"port","s":"ort","c":{},"d":[103],"e":true}},"d":[],"e":false},"m":{"w":"m","s":"m","c":{"a":{"w":"main","s":"ain","c":{},"d":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],"e":true},"e":{"w":"me","s":"e","c":{"s":{"w":"messages","s":"ssages","c":{},"d":[54,62,83,96],"e":true},"m":{"w":"memorypsiconfig","s":"morypsiconfig","c":{},"d":[87],"e":true}},"d":[],"e":false},"o":{"w":"mo","s":"o","c":{"d":{"w":"mode","s":"de","c":{},"d":[79,145],"e":true},"r":{"w":"more","s":"re","c":{},"d":[133],"e":true}},"d":[],"e":false}},"d":[],"e":false},"z":{"w":"zh","s":"zh","c":{},"d":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],"e":true},"c":{"w":"c","s":"c","c":{"n":{"w":"cn","s":"n","c":{},"d":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],"e":true},"o":{"w":"con","s":"on","c":{"f":{"w":"config","s":"fig","c":{"u":{"w":"configuration","s":"uration","c":{},"d":[52,60,81,94],"e":true}},"d":[119,130,140,143,147,152,153,154,160],"e":true},"t":{"w":"conte","s":"te","c":{"n":{"w":"contents","s":"nts","c":{},"d":[53,61,82,95],"e":true},"x":{"w":"contextdescproto","s":"xtdescproto","c":{},"d":[109],"e":true}},"d":[],"e":false}},"d":[],"e":false},"u":{"w":"curvetype","s":"urvetype","c":{},"d":[91],"e":true},"l":{"w":"clusterdefine","s":"lusterdefine","c":{},"d":[101],"e":true},"s":{"w":"csv","s":"sv","c":{},"d":[141],"e":true}},"d":[24],"e":true},"w":{"w":"w","s":"w","c":{"e":{"w":"welcome","s":"elcome","c":{},"d":[1],"e":true},"h":{"w":"whatsnew","s":"hatsnew","c":{},"d":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"e":true},"i":{"w":"with","s":"ith","c":{},"d":[123,155],"e":true}},"d":[],"e":false},"t":{"w":"t","s":"t","c":{"o":{"w":"to","s":"o","c":{},"d":[1],"e":true},"a":{"w":"ta","s":"a","c":{"b":{"w":"table","s":"ble","c":{},"d":[53,61,82,95],"e":true},"s":{"w":"taskinputconfig","s":"skinputconfig","c":{},"d":[105,106],"e":true}},"d":[],"e":false},"y":{"w":"types","s":"ypes","c":{},"d":[59,80,93,114],"e":true},"i":{"w":"tips","s":"ips","c":{},"d":[167],"e":true}},"d":[],"e":false},"s":{"w":"s","s":"s","c":{"e":{"w":"se","s":"e","c":{"c":{"w":"sec","s":"c","c":{"r":{"w":"secretflow","s":"retflow","c":{},"d":[1],"e":true},"u":{"w":"security","s":"urity","c":{},"d":[167],"e":true}},"d":[],"e":false},"t":{"w":"setup","s":"tup","c":{},"d":[35,120],"e":true},"r":{"w":"service","s":"rvice","c":{},"d":[104],"e":true},"n":{"w":"sender","s":"nder","c":{},"d":[120,121,124,153],"e":true}},"d":[],"e":false},"t":{"w":"start","s":"tart","c":{"e":{"w":"started","s":"ed","c":{},"d":[22],"e":true}},"d":[139],"e":true},"o":{"w":"source","s":"ource","c":{},"d":[26,117,132,150,163],"e":true},"y":{"w":"system","s":"ystem","c":{},"d":[35],"e":true},"c":{"w":"scalar","s":"calar","c":{},"d":[59,80,93,114],"e":true},"f":{"w":"sfpsiconfigmapentry","s":"fpsiconfigmapentry","c":{},"d":[106],"e":true},"s":{"w":"ssloptionsproto","s":"sloptionsproto","c":{},"d":[112],"e":true},"u":{"w":"supported","s":"upported","c":{},"d":[136,159],"e":true}},"d":[1],"e":true},"l":{"w":"l","s":"l","c":{"i":{"w":"li","s":"i","c":{"b":{"w":"library","s":"brary","c":{},"d":[1],"e":true},"n":{"w":"linux","s":"nux","c":{},"d":[37],"e":true},"m":{"w":"limit","s":"mit","c":{},"d":[126,156],"e":true}},"d":[],"e":false},"a":{"w":"la","s":"a","c":{"b":{"w":"labeled","s":"beled","c":{},"d":[48],"e":true},"u":{"w":"launch","s":"unch","c":{"_":{"w":"launch_config","s":"_config","c":{},"d":[94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114],"e":true},"c":{"w":"launchconfig","s":"config","c":{},"d":[97],"e":true}},"d":[94],"e":true},"t":{"w":"latency","s":"tency","c":{},"d":[126,156],"e":true}},"d":[],"e":false}},"d":[],"e":false},"d":{"w":"d","s":"d","c":{"o":{"w":"doc","s":"oc","c":{"u":{"w":"documentation","s":"umentation","c":{},"d":[1],"e":true},"k":{"w":"docker","s":"ker","c":{},"d":[25,36,123,129,137,155,161],"e":true}},"d":[],"e":false},"e":{"w":"de","s":"e","c":{"v":{"w":"dev","s":"v","c":{"2":{"w":"dev2","s":"2","c":{"3":{"w":"dev23122","s":"3122","c":{"1":{"w":"dev231221","s":"1","c":{},"d":[20],"e":true},"8":{"w":"dev231228","s":"8","c":{},"d":[19],"e":true}},"d":[],"e":false},"4":{"w":"dev240","s":"40","c":{"1":{"w":"dev240123","s":"123","c":{},"d":[18],"e":true},"2":{"w":"dev2402","s":"2","c":{"1":{"w":"dev240219","s":"19","c":{},"d":[17],"e":true},"2":{"w":"dev240222","s":"22","c":{},"d":[16],"e":true}},"d":[],"e":false},"3":{"w":"dev2403","s":"3","c":{"0":{"w":"dev240304","s":"04","c":{},"d":[15],"e":true},"2":{"w":"dev240329","s":"29","c":{},"d":[13],"e":true}},"d":[],"e":false},"4":{"w":"dev240401","s":"401","c":{},"d":[12],"e":true},"5":{"w":"dev2405","s":"5","c":{"1":{"w":"dev24051","s":"1","c":{"4":{"w":"dev240514","s":"4","c":{},"d":[11],"e":true},"7":{"w":"dev240517","s":"7","c":{},"d":[10],"e":true}},"d":[],"e":false},"2":{"w":"dev240521","s":"21","c":{},"d":[9],"e":true}},"d":[],"e":false},"7":{"w":"dev240731","s":"731","c":{},"d":[8],"e":true},"8":{"w":"dev240801","s":"801","c":{},"d":[7],"e":true}},"d":[],"e":false}},"d":[],"e":false},"e":{"w":"development","s":"elopment","c":{},"d":[40,40,41,42,43,44,45,46,47,48,49,50],"e":true}},"d":[36],"e":true},"p":{"w":"deprecated","s":"precated","c":{},"d":[33,158],"e":true},"b":{"w":"debugoptions","s":"bugoptions","c":{},"d":[63],"e":true}},"d":[],"e":false},"i":{"w":"differentially","s":"ifferentially","c":{},"d":[45],"e":true},"p":{"w":"dppsiparams","s":"ppsiparams","c":{},"d":[85],"e":true},"a":{"w":"data","s":"ata","c":{},"d":[118,130,140,151,160],"e":true}},"d":[],"e":false},"r":{"w":"r","s":"r","c":{"e":{"w":"re","s":"e","c":{"l":{"w":"release","s":"lease","c":{},"d":[2,3,25,129,137,161],"e":true},"p":{"w":"reporting","s":"porting","c":{},"d":[39],"e":true},"f":{"w":"reference","s":"ference","c":{},"d":[50,51,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114],"e":true},"c":{"w":"rec","s":"c","c":{"o":{"w":"recoveryconfig","s":"overyconfig","c":{},"d":[71],"e":true},"e":{"w":"receiver","s":"eiver","c":{},"d":[122,125,154],"e":true}},"d":[],"e":false},"t":{"w":"retryoptionsproto","s":"tryoptionsproto","c":{},"d":[111],"e":true}},"d":[],"e":false},"r":{"w":"rr22","s":"r22","c":{"c":{"w":"rr22config","s":"config","c":{},"d":[72],"e":true}},"d":[49],"e":true},"o":{"w":"role","s":"ole","c":{},"d":[78],"e":true},"u":{"w":"run","s":"un","c":{},"d":[123,131,155,162],"e":true}},"d":[],"e":false},"n":{"w":"notes","s":"notes","c":{},"d":[2],"e":true},"v":{"w":"v","s":"v","c":{"0":{"w":"v0","s":"0","c":{},"d":[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"e":true},"1":{"w":"v1","s":"1","c":{},"d":[81,158],"e":true},"2":{"w":"v2","s":"2","c":{},"d":[60,128,149],"e":true},"a":{"w":"value","s":"alue","c":{},"d":[59,80,93,114],"e":true}},"d":[],"e":false},"g":{"w":"g","s":"g","c":{"e":{"w":"ge","s":"e","c":{"t":{"w":"getting","s":"tting","c":{"_":{"w":"getting_started","s":"_started","c":{},"d":[22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"e":true}},"d":[22],"e":true},"n":{"w":"generate","s":"nerate","c":{},"d":[118,151],"e":true}},"d":[],"e":false},"u":{"w":"guide","s":"uide","c":{},"d":[115],"e":true}},"d":[],"e":false},"i":{"w":"i","s":"i","c":{"n":{"w":"in","s":"n","c":{"s":{"w":"installation","s":"stallation","c":{},"d":[23],"e":true},"t":{"w":"introduction","s":"troduction","c":{},"d":[41],"e":true},"p":{"w":"input","s":"put","c":{"a":{"w":"inputattr","s":"attr","c":{},"d":[65],"e":true},"p":{"w":"inputparams","s":"params","c":{},"d":[86],"e":true}},"d":[],"e":false}},"d":[],"e":false},"d":{"w":"id","s":"d","c":{"1":{"w":"id1","s":"1","c":{},"d":[28,99],"e":true},"2":{"w":"id2","s":"2","c":{},"d":[29,107],"e":true},"3":{"w":"id3","s":"3","c":{},"d":[31,108],"e":true},"4":{"w":"id4","s":"4","c":{},"d":[32,113],"e":true}},"d":[],"e":false},"s":{"w":"issue","s":"ssue","c":{"s":{"w":"issues","s":"s","c":{},"d":[147,148],"e":true}},"d":[39],"e":true},"o":{"w":"io","s":"o","c":{"c":{"w":"ioconfig","s":"config","c":{},"d":[66],"e":true},"t":{"w":"iotype","s":"type","c":{},"d":[75],"e":true}},"d":[],"e":false}},"d":[],"e":false},"b":{"w":"b","s":"b","c":{"i":{"w":"binaries","s":"inaries","c":{},"d":[24],"e":true},"u":{"w":"bu","s":"u","c":{"i":{"w":"build","s":"ild","c":{"i":{"w":"building","s":"ing","c":{},"d":[26,34,117,132,150,163],"e":true}},"d":[38],"e":true},"c":{"w":"bucket","s":"cket","c":{"p":{"w":"bucketpsiconfig","s":"psiconfig","c":{},"d":[84],"e":true},"i":{"w":"bucketized","s":"ized","c":{},"d":[145],"e":true}},"d":[],"e":false}},"d":[],"e":false},"a":{"w":"ba","s":"a","c":{"s":{"w":"based","s":"sed","c":{},"d":[47],"e":true},"n":{"w":"bandwidth","s":"ndwidth","c":{},"d":[126,156],"e":true}},"d":[],"e":false},"l":{"w":"blazing","s":"lazing","c":{},"d":[49],"e":true},"e":{"w":"be","s":"e","c":{"n":{"w":"benchmark","s":"nchmark","c":{},"d":[116,127,149,157,164,165,166],"e":true},"f":{"w":"before","s":"fore","c":{},"d":[139],"e":true}},"d":[],"e":false}},"d":[],"e":false},"f":{"w":"f","s":"f","c":{"r":{"w":"fr","s":"r","c":{"o":{"w":"from","s":"om","c":{},"d":[26,117,132,150,163],"e":true},"e":{"w":"frequently","s":"equently","c":{},"d":[146],"e":true}},"d":[],"e":false},"a":{"w":"fa","s":"a","c":{"s":{"w":"fast","s":"st","c":{},"d":[49],"e":true},"q":{"w":"faq","s":"q","c":{},"d":[146,146,147,148],"e":true}},"d":[],"e":false},"i":{"w":"file","s":"ile","c":{},"d":[119,141,142,152],"e":true},"u":{"w":"full","s":"ull","c":{},"d":[144],"e":true},"e":{"w":"feature","s":"eature","c":{},"d":[148],"e":true}},"d":[],"e":false},"a":{"w":"a","s":"a","c":{"p":{"w":"ap","s":"p","c":{"p":{"w":"applications","s":"plications","c":{},"d":[30],"e":true},"i":{"w":"api","s":"i","c":{},"d":[51],"e":true},"s":{"w":"apsi","s":"si","c":{"r":{"w":"apsireceiverconfig","s":"receiverconfig","c":{},"d":[55],"e":true},"s":{"w":"apsisenderconfig","s":"senderconfig","c":{},"d":[56],"e":true},"_":{"w":"apsi_benchmark","s":"_benchmark","c":{},"d":[116,117,118,119,120,121,122,123,124,125,126,127],"e":true}},"d":[116,120,121,122,123,124,125,138,142],"e":true}},"d":[],"e":false},"n":{"w":"an","s":"n","c":{"d":{"w":"and","s":"d","c":{},"d":[126,130,140,156,160],"e":true}},"d":[39],"e":true},"d":{"w":"advancedjointype","s":"dvancedjointype","c":{},"d":[77],"e":true},"l":{"w":"allocatedports","s":"llocatedports","c":{},"d":[100],"e":true},"s":{"w":"asked","s":"sked","c":{},"d":[146],"e":true}},"d":[],"e":false},"e":{"w":"e","s":"e","c":{"a":{"w":"easy","s":"asy","c":{},"d":[33],"e":true},"c":{"w":"ecdh","s":"cdh","c":{"c":{"w":"ecdhconfig","s":"config","c":{},"d":[64],"e":true}},"d":[42,43,47,165],"e":true},"n":{"w":"enums","s":"nums","c":{},"d":[58,74,90,98],"e":true},"x":{"w":"examples","s":"xamples","c":{},"d":[133,144],"e":true}},"d":[],"e":false},"u":{"w":"u","s":"u","c":{"n":{"w":"un","s":"n","c":{"i":{"w":"unittest","s":"ittest","c":{},"d":[38],"e":true},"b":{"w":"unbalanced","s":"balanced","c":{},"d":[46],"e":true}},"d":[],"e":false},"b":{"w":"ub","s":"b","c":{"p":{"w":"ubpsiconfig","s":"psiconfig","c":{},"d":[73,79],"e":true}},"d":[134],"e":true},"s":{"w":"user","s":"ser","c":{"_":{"w":"user_guide","s":"_guide","c":{},"d":[115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],"e":true}},"d":[115],"e":true}},"d":[],"e":false},"k":{"w":"k","s":"k","c":{"k":{"w":"kkrt","s":"krt","c":{"1":{"w":"kkrt16","s":"16","c":{},"d":[44],"e":true},"c":{"w":"kkrtconfig","s":"config","c":{},"d":[67],"e":true}},"d":[166],"e":true},"e":{"w":"keyword","s":"eyword","c":{},"d":[138],"e":true}},"d":[],"e":false},"o":{"w":"o","s":"o","c":{"p":{"w":"oprf","s":"prf","c":{},"d":[47],"e":true},"f":{"w":"of","s":"f","c":{},"d":[53,61,82,95],"e":true},"u":{"w":"output","s":"utput","c":{"a":{"w":"outputattr","s":"attr","c":{},"d":[68],"e":true},"p":{"w":"outputparams","s":"params","c":{},"d":[88],"e":true}},"d":[],"e":false},"n":{"w":"online","s":"nline","c":{},"d":[121],"e":true}},"d":[],"e":false},"j":{"w":"json","s":"json","c":{},"d":[120,121,122],"e":true},"q":{"w":"qu","s":"qu","c":{"i":{"w":"quickstart","s":"ickstart","c":{},"d":[128,135,158],"e":true},"e":{"w":"questions","s":"estions","c":{},"d":[146],"e":true}},"d":[],"e":false}},"d":[],"e":false},"isArray":false},"title":{"type":"Radix","node":{"w":"","s":"","c":{"0":{"w":"0","s":"0","c":{"b":{"w":"0beta","s":"beta","c":{},"d":[4,5,6,14,21],"e":true}},"d":[7,8,9,10,11,12,13,15,16,16,17,18,19,20],"e":true},"1":{"w":"1","s":"1","c":{"6":{"w":"16c32g","s":"6c32g","c":{},"d":[125],"e":true}},"d":[21],"e":true},"2":{"w":"2","s":"2","c":{},"d":[18,19,20],"e":true},"3":{"w":"3","s":"3","c":{"2":{"w":"32c64g","s":"2c64g","c":{},"d":[124],"e":true}},"d":[5,14,15,16,17],"e":true},"4":{"w":"4","s":"4","c":{},"d":[6,7,8,9,10,11,12,13],"e":true},"5":{"w":"5","s":"5","c":{},"d":[4],"e":true},"欢":{"w":"欢","s":"欢","c":{},"d":[1],"e":true},"迎":{"w":"迎","s":"迎","c":{},"d":[1],"e":true},"查":{"w":"查","s":"查","c":{},"d":[1],"e":true},"看":{"w":"看","s":"看","c":{},"d":[1],"e":true},"s":{"w":"s","s":"s","c":{"e":{"w":"se","s":"e","c":{"c":{"w":"secret","s":"cret","c":{"f":{"w":"secretflow","s":"flow","c":{},"d":[1,29],"e":true},"p":{"w":"secretpad","s":"pad","c":{},"d":[32],"e":true}},"d":[],"e":false},"r":{"w":"service","s":"rvice","c":{},"d":[104],"e":true},"n":{"w":"sender","s":"nder","c":{},"d":[153],"e":true}},"d":[],"e":false},"p":{"w":"spu","s":"pu","c":{},"d":[28],"e":true},"c":{"w":"scql","s":"cql","c":{},"d":[31],"e":true},"f":{"w":"sfpsiconfigmapentry","s":"fpsiconfigmapentry","c":{},"d":[106],"e":true},"s":{"w":"ssloptionsproto","s":"sloptionsproto","c":{},"d":[112],"e":true}},"d":[],"e":false},"p":{"w":"p","s":"p","c":{"s":{"w":"psi","s":"si","c":{"c":{"w":"psiconfig","s":"config","c":{},"d":[70,77],"e":true},"r":{"w":"psiresultreport","s":"resultreport","c":{},"d":[89],"e":true},"t":{"w":"psitype","s":"type","c":{},"d":[92],"e":true}},"d":[1,33,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,128,129,130,131,131,132,133,134,134,149,150,151,152,153,154,155,155,156,157,158,159,160,161,162,162,163,164,165,165,166,166,167],"e":true},"y":{"w":"python","s":"ython","c":{},"d":[27],"e":true},"i":{"w":"pir","s":"ir","c":{},"d":[52,53,54,55,56,57,57,58,59,135,136,137,138,138,139,140,141,142,143,143,144,145],"e":true},"r":{"w":"protocol","s":"rotocol","c":{"c":{"w":"protocolconfig","s":"config","c":{},"d":[69],"e":true}},"d":[76],"e":true},"a":{"w":"party","s":"arty","c":{"p":{"w":"partyproto","s":"proto","c":{},"d":[110],"e":true}},"d":[102],"e":true},"o":{"w":"port","s":"ort","c":{},"d":[103],"e":true}},"d":[],"e":false},"的":{"w":"的","s":"的","c":{},"d":[1,25,47,136,159],"e":true},"相":{"w":"相","s":"相","c":{},"d":[1,30],"e":true},"关":{"w":"关","s":"关","c":{},"d":[1,30],"e":true},"文":{"w":"文","s":"文","c":{},"d":[1,24,119,141,142,152],"e":true},"档":{"w":"档","s":"档","c":{},"d":[1],"e":true},"发":{"w":"发","s":"发","c":{},"d":[2,3,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,25,36,40,56,137],"e":true},"版":{"w":"版","s":"版","c":{},"d":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,36],"e":true},"说":{"w":"说","s":"说","c":{},"d":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,34,54],"e":true},"明":{"w":"明","s":"明","c":{},"d":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,34,54],"e":true},"布":{"w":"布","s":"布","c":{},"d":[3,25,137],"e":true},"v":{"w":"v","s":"v","c":{"0":{"w":"v0","s":"0","c":{},"d":[4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21],"e":true},"1":{"w":"v1","s":"1","c":{},"d":[81,82,83,84,85,86,87,88,89,90,91,92,93,158,159,160,161,162,163,164,165,166,167],"e":true},"2":{"w":"v2","s":"2","c":{},"d":[60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,128,129,130,131,132,133,134,149,150,151,152,153,154,155,156,157],"e":true}},"d":[],"e":false},"d":{"w":"d","s":"d","c":{"e":{"w":"de","s":"e","c":{"v":{"w":"dev2","s":"v2","c":{"3":{"w":"dev23122","s":"3122","c":{"1":{"w":"dev231221","s":"1","c":{},"d":[20],"e":true},"8":{"w":"dev231228","s":"8","c":{},"d":[19],"e":true}},"d":[],"e":false},"4":{"w":"dev240","s":"40","c":{"1":{"w":"dev240123","s":"123","c":{},"d":[18],"e":true},"2":{"w":"dev2402","s":"2","c":{"1":{"w":"dev240219","s":"19","c":{},"d":[17],"e":true},"2":{"w":"dev240222","s":"22","c":{},"d":[16],"e":true}},"d":[],"e":false},"3":{"w":"dev2403","s":"3","c":{"0":{"w":"dev240304","s":"04","c":{},"d":[15],"e":true},"2":{"w":"dev240329","s":"29","c":{},"d":[13],"e":true}},"d":[],"e":false},"4":{"w":"dev240401","s":"401","c":{},"d":[12],"e":true},"5":{"w":"dev2405","s":"5","c":{"1":{"w":"dev24051","s":"1","c":{"4":{"w":"dev240514","s":"4","c":{},"d":[11],"e":true},"7":{"w":"dev240517","s":"7","c":{},"d":[10],"e":true}},"d":[],"e":false},"2":{"w":"dev240521","s":"21","c":{},"d":[9],"e":true}},"d":[],"e":false},"7":{"w":"dev240731","s":"731","c":{},"d":[8],"e":true},"8":{"w":"dev240801","s":"801","c":{},"d":[7],"e":true}},"d":[],"e":false}},"d":[],"e":false},"b":{"w":"debugoptions","s":"bugoptions","c":{},"d":[63],"e":true}},"d":[],"e":false},"o":{"w":"docker","s":"ocker","c":{},"d":[25,36,123,129,137,155,161],"e":true},"p":{"w":"dppsiparams","s":"ppsiparams","c":{},"d":[85],"e":true}},"d":[],"e":false},"入":{"w":"入","s":"入","c":{},"d":[22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,86,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,158,159,160,161,162,163,164,165,166,167],"e":true},"门":{"w":"门","s":"门","c":{},"d":[22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,158,159,160,161,162,163,164,165,166,167],"e":true},"指":{"w":"指","s":"指","c":{},"d":[22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,115],"e":true},"南":{"w":"南","s":"南","c":{},"d":[22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,115],"e":true},"安":{"w":"安","s":"安","c":{},"d":[23,167],"e":true},"装":{"w":"装","s":"装","c":{},"d":[23],"e":true},"c":{"w":"c","s":"c","c":{"u":{"w":"curvetype","s":"urvetype","c":{},"d":[91],"e":true},"l":{"w":"clusterdefine","s":"lusterdefine","c":{},"d":[101],"e":true},"o":{"w":"con","s":"on","c":{"t":{"w":"contextdescproto","s":"textdescproto","c":{},"d":[109],"e":true},"f":{"w":"config","s":"fig","c":{},"d":[153,154],"e":true}},"d":[],"e":false},"s":{"w":"csv","s":"sv","c":{},"d":[141],"e":true}},"d":[24],"e":true},"二":{"w":"二","s":"二","c":{},"d":[24],"e":true},"进":{"w":"进","s":"进","c":{},"d":[24,117],"e":true},"制":{"w":"制","s":"制","c":{},"d":[24,126,156],"e":true},"件":{"w":"件","s":"件","c":{},"d":[24,119,141,142,152],"e":true},"已":{"w":"已","s":"已","c":{},"d":[25,158,159,160,161,162,163,164,165,166,167],"e":true},"镜":{"w":"镜","s":"镜","c":{},"d":[25,36,129,137,161],"e":true},"像":{"w":"像","s":"像","c":{},"d":[25,36,129,137,161],"e":true},"源":{"w":"源","s":"源","c":{},"d":[26,117,132,150,163],"e":true},"码":{"w":"码","s":"码","c":{},"d":[26,117,132,150,163],"e":true},"编":{"w":"编","s":"编","c":{},"d":[26,34,163],"e":true},"译":{"w":"译","s":"译","c":{},"d":[26,34,163],"e":true},"包":{"w":"包","s":"包","c":{},"d":[27],"e":true},"应":{"w":"应","s":"应","c":{},"d":[30],"e":true},"用":{"w":"用","s":"用","c":{},"d":[30,33,115,123,155],"e":true},"不":{"w":"不","s":"不","c":{},"d":[33],"e":true},"推":{"w":"推","s":"推","c":{},"d":[33],"e":true},"荐":{"w":"荐","s":"荐","c":{},"d":[33],"e":true},"使":{"w":"使","s":"使","c":{},"d":[33,123,155],"e":true},"e":{"w":"e","s":"e","c":{"a":{"w":"easy","s":"asy","c":{},"d":[33],"e":true},"c":{"w":"ecdh","s":"cdh","c":{"c":{"w":"ecdhconfig","s":"config","c":{},"d":[64],"e":true}},"d":[42,43,47,165],"e":true},"n":{"w":"enums","s":"nums","c":{},"d":[74,98,107,113],"e":true}},"d":[],"e":false},"系":{"w":"系","s":"系","c":{},"d":[35],"e":true},"统":{"w":"统","s":"统","c":{},"d":[35],"e":true},"环":{"w":"环","s":"环","c":{},"d":[35],"e":true},"境":{"w":"境","s":"境","c":{},"d":[35],"e":true},"准":{"w":"准","s":"准","c":{},"d":[35,116,117,118,119,119,120,121,122,123,124,125,126,127,130,139,140,149,150,151,152,152,153,154,155,156,157,157,160,164,165,166],"e":true},"备":{"w":"备","s":"备","c":{},"d":[35,119,130,139,140,152,160],"e":true},"开":{"w":"开","s":"开","c":{},"d":[36,40,139],"e":true},"l":{"w":"l","s":"l","c":{"i":{"w":"linux","s":"inux","c":{},"d":[37],"e":true},"a":{"w":"launchconfig","s":"aunchconfig","c":{},"d":[97],"e":true}},"d":[],"e":false},"构":{"w":"构","s":"构","c":{},"d":[38,117,132,150],"e":true},"建":{"w":"建","s":"建","c":{},"d":[38,117,132,150],"e":true},"与":{"w":"与","s":"与","c":{},"d":[38],"e":true},"单":{"w":"单","s":"单","c":{},"d":[38],"e":true},"元":{"w":"元","s":"元","c":{},"d":[38],"e":true},"测":{"w":"测","s":"测","c":{},"d":[38,116,117,118,119,120,121,122,123,124,125,126,127,149,150,151,152,153,154,155,156,157,157,164,165,166],"e":true},"试":{"w":"试","s":"试","c":{},"d":[38,116,117,118,119,120,121,122,123,124,125,126,127,149,150,151,152,153,154,155,156,157,157,164,165,166],"e":true},"问":{"w":"问","s":"问","c":{},"d":[39,146,147,147,148,148],"e":true},"题":{"w":"题","s":"题","c":{},"d":[39,146,147,147,148,148],"e":true},"反":{"w":"反","s":"反","c":{},"d":[39],"e":true},"馈":{"w":"馈","s":"馈","c":{},"d":[39],"e":true},"者":{"w":"者","s":"者","c":{},"d":[40],"e":true},"协":{"w":"协","s":"协","c":{},"d":[41,42,42,43,43,44,44,45,45,46,46,47,47,48,49,49,50,136,159],"e":true},"议":{"w":"议","s":"议","c":{},"d":[41,42,42,43,43,44,44,45,45,46,46,47,47,48,49,49,50,136,159],"e":true},"介":{"w":"介","s":"介","c":{},"d":[41,42,43,44,45,46,47,48,49,50],"e":true},"绍":{"w":"绍","s":"绍","c":{},"d":[41,42,43,44,45,46,47,48,49,50],"e":true},"三":{"w":"三","s":"三","c":{},"d":[43],"e":true},"方":{"w":"方","s":"方","c":{},"d":[43,55,56],"e":true},"k":{"w":"k","s":"k","c":{"k":{"w":"kkrt","s":"krt","c":{"1":{"w":"kkrt16","s":"16","c":{},"d":[44],"e":true},"c":{"w":"kkrtconfig","s":"config","c":{},"d":[67],"e":true}},"d":[166],"e":true},"e":{"w":"keyword","s":"eyword","c":{},"d":[138],"e":true}},"d":[],"e":false},"差":{"w":"差","s":"差","c":{},"d":[45],"e":true},"分":{"w":"分","s":"分","c":{},"d":[45,145],"e":true},"隐":{"w":"隐","s":"隐","c":{},"d":[45],"e":true},"私":{"w":"私","s":"私","c":{},"d":[45],"e":true},"非":{"w":"非","s":"非","c":{},"d":[46,134],"e":true},"平":{"w":"平","s":"平","c":{},"d":[46,134],"e":true},"衡":{"w":"衡","s":"衡","c":{},"d":[46,134],"e":true},"基":{"w":"基","s":"基","c":{},"d":[47,116,117,118,119,120,121,122,123,124,125,126,127,149,150,151,152,153,154,155,156,157,157,164,165,166],"e":true},"于":{"w":"于","s":"于","c":{},"d":[47],"e":true},"o":{"w":"o","s":"o","c":{"p":{"w":"oprf","s":"prf","c":{},"d":[47],"e":true},"u":{"w":"outputattr","s":"utputattr","c":{},"d":[68],"e":true}},"d":[],"e":false},"标":{"w":"标","s":"标","c":{},"d":[48,59,80,93,114],"e":true},"签":{"w":"签","s":"签","c":{},"d":[48],"e":true},"r":{"w":"r","s":"r","c":{"r":{"w":"rr22","s":"r22","c":{"c":{"w":"rr22config","s":"config","c":{},"d":[72],"e":true}},"d":[49],"e":true},"e":{"w":"re","s":"e","c":{"f":{"w":"reference","s":"ference","c":{},"d":[51],"e":true},"c":{"w":"rec","s":"c","c":{"o":{"w":"recoveryconfig","s":"overyconfig","c":{},"d":[71],"e":true},"e":{"w":"receiver","s":"eiver","c":{},"d":[154],"e":true}},"d":[],"e":false},"t":{"w":"retryoptionsproto","s":"tryoptionsproto","c":{},"d":[111],"e":true}},"d":[],"e":false},"o":{"w":"role","s":"ole","c":{},"d":[78],"e":true}},"d":[],"e":false},"高":{"w":"高","s":"高","c":{},"d":[49],"e":true},"速":{"w":"速","s":"速","c":{},"d":[49,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,158,159,160,161,162,163,164,165,166,167],"e":true},"参":{"w":"参","s":"参","c":{},"d":[50,86,88,142],"e":true},"考":{"w":"考","s":"考","c":{},"d":[50],"e":true},"实":{"w":"实","s":"实","c":{},"d":[50],"e":true},"现":{"w":"现","s":"现","c":{},"d":[50],"e":true},"a":{"w":"a","s":"a","c":{"p":{"w":"ap","s":"p","c":{"i":{"w":"api","s":"i","c":{},"d":[51],"e":true},"s":{"w":"apsi","s":"si","c":{"_":{"w":"apsi_","s":"_","c":{"s":{"w":"apsi_sender","s":"sender","c":{"_":{"w":"apsi_sender_","s":"_","c":{"s":{"w":"apsi_sender_setup","s":"setup","c":{},"d":[120],"e":true},"o":{"w":"apsi_sender_online","s":"online","c":{},"d":[121],"e":true}},"d":[],"e":false}},"d":[124],"e":true},"r":{"w":"apsi_receiver","s":"receiver","c":{},"d":[122,125],"e":true}},"d":[],"e":false}},"d":[55,56,116,117,118,119,120,121,122,123,123,124,125,126,127,138,142],"e":true}},"d":[],"e":false},"d":{"w":"advancedjointype","s":"dvancedjointype","c":{},"d":[77],"e":true},"l":{"w":"allocatedports","s":"llocatedports","c":{},"d":[100],"e":true}},"d":[],"e":false},"配":{"w":"配","s":"配","c":{},"d":[52,53,54,55,55,56,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,119,130,140,143,147,152,160],"e":true},"置":{"w":"置","s":"置","c":{},"d":[52,53,54,55,55,56,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,119,130,140,143,147,152,160],"e":true},"目":{"w":"目","s":"目","c":{},"d":[53,61,82,95],"e":true},"录":{"w":"录","s":"录","c":{},"d":[53,61,82,95],"e":true},"接":{"w":"接","s":"接","c":{},"d":[55],"e":true},"收":{"w":"收","s":"收","c":{},"d":[55],"e":true},"送":{"w":"送","s":"送","c":{},"d":[56],"e":true},"结":{"w":"结","s":"结","c":{},"d":[57],"e":true},"果":{"w":"果","s":"果","c":{},"d":[57],"e":true},"报":{"w":"报","s":"报","c":{},"d":[57],"e":true},"告":{"w":"告","s":"告","c":{},"d":[57],"e":true},"枚":{"w":"枚","s":"枚","c":{},"d":[58,90],"e":true},"举":{"w":"举","s":"举","c":{},"d":[58,90],"e":true},"量":{"w":"量","s":"量","c":{},"d":[59,80,93,114],"e":true},"值":{"w":"值","s":"值","c":{},"d":[59,80,93,114],"e":true},"类":{"w":"类","s":"类","c":{},"d":[59,80,93,114],"e":true},"型":{"w":"型","s":"型","c":{},"d":[59,80,93,114],"e":true},"m":{"w":"m","s":"m","c":{"e":{"w":"me","s":"e","c":{"s":{"w":"messages","s":"ssages","c":{},"d":[62,96,99,108],"e":true},"m":{"w":"memorypsiconfig","s":"morypsiconfig","c":{},"d":[87],"e":true}},"d":[],"e":false},"o":{"w":"mode","s":"ode","c":{},"d":[79],"e":true}},"d":[],"e":false},"i":{"w":"i","s":"i","c":{"n":{"w":"inputattr","s":"nputattr","c":{},"d":[65],"e":true},"o":{"w":"io","s":"o","c":{"c":{"w":"ioconfig","s":"config","c":{},"d":[66],"e":true},"t":{"w":"iotype","s":"type","c":{},"d":[75],"e":true}},"d":[],"e":false}},"d":[],"e":false},"u":{"w":"ubpsiconfig","s":"ubpsiconfig","c":{},"d":[73,79],"e":true},"消":{"w":"消","s":"消","c":{},"d":[83],"e":true},"息":{"w":"息","s":"息","c":{},"d":[83],"e":true},"b":{"w":"b","s":"b","c":{"u":{"w":"bucketpsiconfig","s":"ucketpsiconfig","c":{},"d":[84],"e":true},"e":{"w":"benchmark","s":"enchmark","c":{},"d":[127],"e":true}},"d":[],"e":false},"输":{"w":"输","s":"输","c":{},"d":[86,88],"e":true},"数":{"w":"数","s":"数","c":{},"d":[86,88,118,130,140,142,151,160],"e":true},"出":{"w":"出","s":"出","c":{},"d":[88],"e":true},"启":{"w":"启","s":"启","c":{},"d":[94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114],"e":true},"动":{"w":"动","s":"动","c":{},"d":[94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114],"e":true},"t":{"w":"taskinputconfig","s":"taskinputconfig","c":{},"d":[105,106],"e":true},"户":{"w":"户","s":"户","c":{},"d":[115],"e":true},"从":{"w":"从","s":"从","c":{},"d":[117],"e":true},"行":{"w":"行","s":"行","c":{},"d":[117,123,131,155,162],"e":true},"生":{"w":"生","s":"生","c":{},"d":[118,151],"e":true},"成":{"w":"成","s":"成","c":{},"d":[118,151],"e":true},"据":{"w":"据","s":"据","c":{},"d":[118,130,140,151,160],"e":true},"j":{"w":"json","s":"json","c":{},"d":[120,121,122],"e":true},"运":{"w":"运","s":"运","c":{},"d":[123,131,155,162],"e":true},"限":{"w":"限","s":"限","c":{},"d":[126,156],"e":true},"带":{"w":"带","s":"带","c":{},"d":[126,156],"e":true},"宽":{"w":"宽","s":"宽","c":{},"d":[126,156],"e":true},"和":{"w":"和","s":"和","c":{},"d":[126,130,140,156,160],"e":true},"延":{"w":"延","s":"延","c":{},"d":[126,156],"e":true},"迟":{"w":"迟","s":"迟","c":{},"d":[126,156],"e":true},"快":{"w":"快","s":"快","c":{},"d":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,158,159,160,161,162,163,164,165,166,167],"e":true},"更":{"w":"更","s":"更","c":{},"d":[133],"e":true},"多":{"w":"多","s":"多","c":{},"d":[133],"e":true},"示":{"w":"示","s":"示","c":{},"d":[133,144,167],"e":true},"例":{"w":"例","s":"例","c":{},"d":[133,144],"e":true},"支":{"w":"支","s":"支","c":{},"d":[136,159],"e":true},"持":{"w":"持","s":"持","c":{},"d":[136,159],"e":true},"始":{"w":"始","s":"始","c":{},"d":[139],"e":true},"前":{"w":"前","s":"前","c":{},"d":[139],"e":true},"完":{"w":"完","s":"完","c":{},"d":[144],"e":true},"整":{"w":"整","s":"整","c":{},"d":[144],"e":true},"桶":{"w":"桶","s":"桶","c":{},"d":[145],"e":true},"模":{"w":"模","s":"模","c":{},"d":[145],"e":true},"式":{"w":"式","s":"式","c":{},"d":[145],"e":true},"常":{"w":"常","s":"常","c":{},"d":[146,147,148],"e":true},"见":{"w":"见","s":"见","c":{},"d":[146,147,148],"e":true},"f":{"w":"faq","s":"faq","c":{},"d":[146,147,148],"e":true},"特":{"w":"特","s":"特","c":{},"d":[148],"e":true},"性":{"w":"性","s":"性","c":{},"d":[148],"e":true},"废":{"w":"废","s":"废","c":{},"d":[158,159,160,161,162,163,164,165,166,167],"e":true},"弃":{"w":"弃","s":"弃","c":{},"d":[158,159,160,161,162,163,164,165,166,167],"e":true},"全":{"w":"全","s":"全","c":{},"d":[167],"e":true},"提":{"w":"提","s":"提","c":{},"d":[167],"e":true}},"d":[],"e":false},"isArray":false},"content":{"type":"Radix","node":{"w":"","s":"","c":{"0":{"w":"0","s":"0","c":{"1":{"w":"01","s":"1","c":{"2":{"w":"012s","s":"2s","c":{"0":{"w":"012s0","s":"0","c":{},"d":[166,166,166,166,166,166,166,166,166,166,166,166,166,166,166],"e":true}},"d":[166,166,166,166,166,166,166,166,166,166],"e":true},"4":{"w":"014s","s":"4s","c":{},"d":[166,166,166,166,166,166,166,166,166,166],"e":true},"6":{"w":"016s","s":"6s","c":{"0":{"w":"016s0","s":"0","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true},"8":{"w":"018s","s":"8s","c":{},"d":[166,166,166,166,166],"e":true},"9":{"w":"019s","s":"9s","c":{"0":{"w":"019s0","s":"0","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true}},"d":[],"e":false},"2":{"w":"024s","s":"24s","c":{"0":{"w":"024s0","s":"0","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true},"3":{"w":"0312s","s":"312s","c":{"0":{"w":"0312s0","s":"0","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true},"4":{"w":"048s","s":"48s","c":{"4":{"w":"048s46","s":"46","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true},"5":{"w":"054s","s":"54s","c":{"8":{"w":"054s85","s":"85","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"6":{"w":"067","s":"67","c":{},"d":[45,45,45,45,45],"e":true},"8":{"w":"081s","s":"81s","c":{"1":{"w":"081s13","s":"13","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"9":{"w":"095s","s":"95s","c":{"1":{"w":"095s18","s":"18","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"b":{"w":"0b0","s":"b0","c":{},"d":[29,29,29,29,29,29,29,29,141,141,141,143,143],"e":true}},"d":[6,6,10,10,13,13,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,75,75,76,76,77,77,78,78,79,79,91,91,92,92,112,112,112,112,112,141,141,141,143,143,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166],"e":true},"1":{"w":"1","s":"1","c":{"0":{"w":"10","s":"0","c":{"0":{"w":"100","s":"0","c":{"0":{"w":"1000mbps","s":"0mbps","c":{},"d":[166],"e":true},"2":{"w":"10022","s":"22","c":{},"d":[76,76,76,76,76],"e":true},"m":{"w":"100mbps","s":"mbps","c":{},"d":[166,166,166,166],"e":true}},"d":[165,165,166,166],"e":true},"2":{"w":"1024","s":"24","c":{"0":{"w":"10240","s":"0","c":{"0":{"w":"102400","s":"0","c":{"0":{"w":"1024000kbps","s":"0kbps","c":{},"d":[166],"e":true},"k":{"w":"102400kbps","s":"kbps","c":{},"d":[166],"e":true}},"d":[],"e":false},"k":{"w":"10240kbps","s":"kbps","c":{},"d":[166],"e":true}},"d":[],"e":false}},"d":[56,56,56,56,56],"e":true},"5":{"w":"1055","s":"55","c":{},"d":[50,50],"e":true},"7":{"w":"107","s":"7","c":{"2":{"w":"1072","s":"2","c":{},"d":[50,50],"e":true},"4":{"w":"1074","s":"4","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"9":{"w":"109","s":"9","c":{"1":{"w":"1091","s":"1","c":{},"d":[50,50],"e":true},"5":{"w":"10957","s":"57","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"m":{"w":"10mbps","s":"mbps","c":{},"d":[166,166,166,166],"e":true}},"d":[47,47,50,50,50,50,50,50,50,50,50,76,76,76,76,76,92,92,111,111,111,111,111,166,166],"e":true},"1":{"w":"11","s":"1","c":{"0":{"w":"1109","s":"09","c":{},"d":[76,76,76,76,76],"e":true},"4":{"w":"1145","s":"45","c":{},"d":[50,50,50,50,50,50],"e":true}},"d":[37,37,47,47,92,92,165,165,166,166],"e":true},"2":{"w":"12","s":"2","c":{"2":{"w":"1223","s":"23","c":{},"d":[50,50],"e":true},"3":{"w":"1237","s":"37","c":{},"d":[50,50],"e":true},"4":{"w":"1243","s":"43","c":{},"d":[50,50],"e":true},"5":{"w":"1255","s":"55","c":{},"d":[50,50],"e":true},"8":{"w":"128","s":"8","c":{},"d":[44],"e":true}},"d":[92,92],"e":true},"3":{"w":"13","s":"3","c":{"2":{"w":"13249","s":"249","c":{},"d":[50,50,50,92,92,92,92,92,92],"e":true},"4":{"w":"134","s":"4","c":{},"d":[45,45,45,45,45,50,50,50,50,76,76,76,76,76,76,76,76,76,76],"e":true},"9":{"w":"139","s":"9","c":{},"d":[165,165],"e":true}},"d":[92,92,165,165],"e":true},"4":{"w":"14","s":"4","c":{"4":{"w":"144","s":"4","c":{},"d":[50,50,50,50,50],"e":true},"8":{"w":"14888","s":"888","c":{},"d":[42,42,42,42,42,91,91,91,91,91],"e":true}},"d":[92,92],"e":true},"5":{"w":"15","s":"5","c":{"6":{"w":"156s","s":"6s","c":{},"d":[165,165,165,165,165],"e":true}},"d":[37,37,92,92,165,165],"e":true},"6":{"w":"16","s":"6","c":{"3":{"w":"163","s":"3","c":{},"d":[165,165],"e":true},"7":{"w":"1672","s":"72","c":{},"d":[166,166],"e":true},"c":{"w":"16c","s":"c","c":{"1":{"w":"16c11","s":"11","c":{},"d":[165],"e":true},"2":{"w":"16c2","s":"2","c":{},"d":[165],"e":true}},"d":[165,165,165,165],"e":true}},"d":[48,48,48,48,48,56,56,56,56,56],"e":true},"7":{"w":"17","s":"7","c":{"0":{"w":"170","s":"0","c":{},"d":[45,45,45,45,45],"e":true},"3":{"w":"173","s":"3","c":{},"d":[165,165],"e":true}},"d":[],"e":false},"8":{"w":"18","s":"8","c":{"1":{"w":"181s","s":"1s","c":{"8":{"w":"181s81","s":"81","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"2":{"w":"182","s":"2","c":{},"d":[166,166,166],"e":true},"6":{"w":"186s","s":"6s","c":{"2":{"w":"186s29","s":"29","c":{},"d":[165,165,165],"e":true}},"d":[165,165,165,165,165,165,165],"e":true}},"d":[165,165,166,166],"e":true},"9":{"w":"19","s":"9","c":{"2":{"w":"192","s":"2","c":{},"d":[166,166],"e":true},"8":{"w":"1986","s":"86","c":{},"d":[50,50,50,50,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76],"e":true},"9":{"w":"1999","s":"99","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"n":{"w":"1n","s":"n","c":{"1":{"w":"1n1","s":"1","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47],"e":true},"2":{"w":"1n2","s":"2","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47],"e":true}},"d":[],"e":false},"i":{"w":"1itemparams","s":"itemparams","c":{},"d":[48,48,48],"e":true},"m":{"w":"1m","s":"m","c":{},"d":[118],"e":true},"e":{"w":"1ecdh","s":"ecdh","c":{},"d":[159,159],"e":true}},"d":[37,37,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,55,55,55,55,55,56,56,56,56,56,67,67,67,67,67,72,72,72,72,72,75,75,76,76,77,77,78,78,79,79,89,89,89,89,89,89,91,91,91,91,91,91,91,92,92,111,111,111,111,111,118,159,159,159],"e":true},"2":{"w":"2","s":"2","c":{"0":{"w":"20","s":"0","c":{"0":{"w":"2006","s":"06","c":{},"d":[50,50,50,50],"e":true},"1":{"w":"201","s":"1","c":{"0":{"w":"2010","s":"0","c":{},"d":[48,48,48,48,48,50,50],"e":true},"1":{"w":"2011","s":"1","c":{},"d":[50,50],"e":true},"2":{"w":"2012","s":"2","c":{},"d":[50,50,50,50,50,50,50],"e":true},"5":{"w":"2015","s":"5","c":{},"d":[50,50,50,50,50,50,50],"e":true},"6":{"w":"2016","s":"6","c":{},"d":[42,42,42,42,42,50,50,50,50,76,76,76,76,76,76,91,91,91,91,91,92,92,92,92,92,92],"e":true},"7":{"w":"2017","s":"7","c":{},"d":[50,50,50,50],"e":true},"8":{"w":"2018","s":"8","c":{},"d":[50,50,50,50,50,50,50,50,50,50,50,50],"e":true},"9":{"w":"2019","s":"9","c":{},"d":[50,50,50,50,50,50,50,50,50,50,50,50],"e":true}},"d":[],"e":false},"2":{"w":"202","s":"2","c":{"0":{"w":"2020","s":"0","c":{},"d":[50,50],"e":true},"1":{"w":"2021","s":"1","c":{},"d":[50,50,50,50,50,50,50,50],"e":true},"2":{"w":"2022","s":"2","c":{},"d":[50,50,76,76,76,76,76,76,92,92,92,92,92,92],"e":true}},"d":[45,45,45,165,165,165,165,165,165,166,166,166],"e":true},"3":{"w":"203","s":"3","c":{},"d":[50,50],"e":true},"4":{"w":"2048","s":"48","c":{},"d":[48,48,48,48,48],"e":true},"8":{"w":"208","s":"8","c":{},"d":[165,165],"e":true}},"d":[37,37,45,45,45,45,45,45,45,67,67,67,67,67,72,72,72,72,72,147,165,165,165,165,165,165,166,166],"e":true},"1":{"w":"21","s":"1","c":{"2":{"w":"212","s":"2","c":{},"d":[45,45,45,165,165,165,165,165,165],"e":true},"s":{"w":"21s","s":"s","c":{},"d":[166,166,166,166,166],"e":true}},"d":[45,45,48,48,48,48,50,50,50,50,165,165,165,165],"e":true},"2":{"w":"22","s":"2","c":{"0":{"w":"2208","s":"08","c":{},"d":[50,50,50,92,92,92,92,92,92],"e":true},"1":{"w":"221","s":"1","c":{},"d":[50,50],"e":true},"2":{"w":"222","s":"2","c":{},"d":[45,45,45,165,165,165,165,165,165,166,166,166],"e":true},"4":{"w":"224","s":"4","c":{"2":{"w":"2242","s":"2","c":{},"d":[44,44,44,44,44,44],"e":true}},"d":[44,44,44,44,44,44,44,44],"e":true},"7":{"w":"227s","s":"7s","c":{"1":{"w":"227s163","s":"163","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true}},"d":[45,45,48,48,48,48,48,49,49,50,50,165,165,165,165,166,166],"e":true},"3":{"w":"23","s":"3","c":{"2":{"w":"232","s":"2","c":{},"d":[45,45,45,165,165,165,165,165,165],"e":true}},"d":[45,45,165,165,165,165,165,165],"e":true},"4":{"w":"24","s":"4","c":{"8":{"w":"248","s":"8","c":{"2":{"w":"248269cy","s":"269cy","c":{},"d":[165],"e":true},"3":{"w":"248369b","s":"369b","c":{},"d":[165],"e":true}},"d":[],"e":false},"d":{"w":"24dp","s":"dp","c":{},"d":[45],"e":true}},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,165,165,165,165,165,165,165,165,166,166,166,166,166],"e":true},"5":{"w":"25","s":"5","c":{"5":{"w":"25519","s":"519","c":{},"d":[18,18],"e":true},"6":{"w":"256","s":"6","c":{},"d":[84,84,84,84,84],"e":true}},"d":[166,166,166,166,166],"e":true},"6":{"w":"26","s":"6","c":{},"d":[37,37],"e":true},"7":{"w":"272s","s":"72s","c":{"1":{"w":"272s173","s":"173","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"8":{"w":"28","s":"8","c":{},"d":[59,59,80,80,93,93,114,114,114,114],"e":true},"9":{"w":"29","s":"9","c":{"1":{"w":"291","s":"1","c":{},"d":[50,50,50,50],"e":true}},"d":[165,165],"e":true},"t":{"w":"2tableparams","s":"tableparams","c":{},"d":[48,48,48],"e":true},"p":{"w":"2p","s":"p","c":{"c":{"w":"2pcg_psi","s":"cg_psi","c":{},"d":[159,159],"e":true}},"d":[78,78,78,78,78],"e":true}},"d":[37,37,37,37,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,50,56,56,56,56,56,59,59,59,59,76,76,77,77,78,78,78,78,78,78,78,78,79,79,80,80,80,80,91,91,92,92,93,93,93,93,111,111,111,111,111,114,114,114,114,114,114,147,159,159,159,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166],"e":true},"3":{"w":"3","s":"3","c":{"0":{"w":"30","s":"0","c":{"8":{"w":"308","s":"8","c":{},"d":[50,50,50,50],"e":true}},"d":[48,48,48,48,48,48,48,48,48,48],"e":true},"1":{"w":"31","s":"1","c":{"3":{"w":"313","s":"3","c":{"3":{"w":"3133956","s":"3956","c":{},"d":[50,50,50],"e":true},"4":{"w":"3134061","s":"4061","c":{},"d":[50,50,50],"e":true}},"d":[],"e":false}},"d":[165,165],"e":true},"2":{"w":"32","s":"2","c":{"0":{"w":"320","s":"0","c":{},"d":[76,76,76,76,76,76,92,92,92,92,92,92],"e":true},"4":{"w":"3243","s":"43","c":{"7":{"w":"3243734","s":"734","c":{},"d":[50,50,50],"e":true},"8":{"w":"3243836","s":"836","c":{},"d":[50,50,50],"e":true}},"d":[],"e":false},"9":{"w":"32918","s":"918","c":{},"d":[42,42,42,42,42,91,91,91,91,91],"e":true},"c":{"w":"32c64g","s":"c64g","c":{},"d":[124],"e":true},"s":{"w":"32s","s":"s","c":{"3":{"w":"32s31","s":"31","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true}},"d":[84,84,84,84,84,109,109,118],"e":true},"3":{"w":"330","s":"30","c":{},"d":[165,165],"e":true},"5":{"w":"35","s":"5","c":{"4":{"w":"354","s":"4","c":{},"d":[165,165],"e":true},"9":{"w":"359","s":"9","c":{},"d":[45,45,45,45,45],"e":true}},"d":[50,50],"e":true},"6":{"w":"368s","s":"68s","c":{"1":{"w":"368s100mbps","s":"100mbps","c":{},"d":[166,166],"e":true}},"d":[166,166,166],"e":true},"7":{"w":"37s","s":"7s","c":{"1":{"w":"37s1","s":"1","c":{"0":{"w":"37s10mbps","s":"0mbps","c":{},"d":[166,166],"e":true},"5":{"w":"37s15","s":"5","c":{},"d":[165,165,165],"e":true}},"d":[],"e":false}},"d":[165,165,166,166,166],"e":true},"9":{"w":"3958","s":"958","c":{},"d":[50,50],"e":true},"f":{"w":"3fourq","s":"fourq","c":{},"d":[42,42],"e":true},"q":{"w":"3queryparams","s":"queryparams","c":{},"d":[48,48,48],"e":true},"r":{"w":"3retry_interval_ms","s":"retry_interval_ms","c":{},"d":[111,111],"e":true},"m":{"w":"3mini","s":"mini","c":{},"d":[159,159],"e":true},"s":{"w":"3s","s":"s","c":{"9":{"w":"3s9","s":"9","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true}},"d":[37,37,37,37,37,37,42,42,42,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,47,48,48,48,48,48,48,48,76,76,77,77,78,78,79,79,91,91,91,91,91,91,91,111,111,111,159,159,159],"e":true},"4":{"w":"4","s":"4","c":{"0":{"w":"40","s":"0","c":{"9":{"w":"4096","s":"96","c":{},"d":[48,48,48,48,48,64,64,64,64,64],"e":true}},"d":[165,165,165,165],"e":true},"1":{"w":"41","s":"1","c":{"5":{"w":"415","s":"5","c":{},"d":[166,166],"e":true},"8":{"w":"418","s":"8","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"2":{"w":"42","s":"2","c":{},"d":[45,45,45,45,45,165,165],"e":true},"3":{"w":"43","s":"3","c":{"4":{"w":"434s","s":"4s","c":{"1":{"w":"434s100","s":"100","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true},"5":{"w":"435","s":"5","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"4":{"w":"44","s":"4","c":{},"d":[166,166],"e":true},"6":{"w":"46","s":"6","c":{"6":{"w":"466s","s":"6s","c":{"6":{"w":"466s666","s":"666","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true}},"d":[166,166],"e":true},"7":{"w":"474s","s":"74s","c":{"1":{"w":"474s10","s":"10","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true},"8":{"w":"48","s":"8","c":{},"d":[48,48,48,48,48,48,48,48,48,48,165,165],"e":true},"9":{"w":"495s","s":"95s","c":{"2":{"w":"495s2","s":"2","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true},"b":{"w":"4b3","s":"b3","c":{},"d":[13,13],"e":true},"s":{"w":"4sealparams","s":"sealparams","c":{},"d":[48,48,48],"e":true},"c":{"w":"4c","s":"c","c":{"7":{"w":"4c7","s":"7","c":{},"d":[165,165,165],"e":true}},"d":[165,165,165,165],"e":true}},"d":[6,6,10,10,13,13,48,48,50,50,50,50,77,77,78,78,79,79,91,91,92,92,141,141,141,143,143,165,165],"e":true},"5":{"w":"5","s":"5","c":{"0":{"w":"50","s":"0","c":{"9":{"w":"509s","s":"9s","c":{"3":{"w":"509s330","s":"330","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"g":{"w":"50ghz","s":"ghz","c":{},"d":[165,165,165,165,165,166],"e":true}},"d":[48,48,48,48,48],"e":true},"1":{"w":"512","s":"12","c":{},"d":[42,42,42,42,42],"e":true},"6":{"w":"56","s":"6","c":{"5":{"w":"565","s":"5","c":{},"d":[50,50,50,50,50],"e":true}},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,59,59,80,80,93,93,114,114],"e":true},"8":{"w":"580","s":"80","c":{},"d":[45,45,45,45,45],"e":true},"b":{"w":"5b0","s":"b0","c":{},"d":[6,6,10,10],"e":true}},"d":[29,29,29,29,29,29,29,29,37,37,77,77,79,79,91,91,92,92],"e":true},"6":{"w":"6","s":"6","c":{"1":{"w":"614s","s":"14s","c":{"6":{"w":"614s65","s":"65","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"2":{"w":"6280","s":"280","c":{},"d":[50,50],"e":true},"3":{"w":"639s","s":"39s","c":{"2":{"w":"639s23","s":"23","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"4":{"w":"649s","s":"49s","c":{"1":{"w":"649s16c2","s":"16c2","c":{},"d":[165,165],"e":true}},"d":[165,165,165],"e":true},"5":{"w":"65","s":"5","c":{"5":{"w":"65535","s":"535","c":{},"d":[48,48,48,48,48],"e":true}},"d":[165,165],"e":true},"6":{"w":"66","s":"6","c":{"6":{"w":"666","s":"6","c":{},"d":[165,165],"e":true}},"d":[165,165],"e":true},"7":{"w":"670s","s":"70s","c":{"4":{"w":"670s48","s":"48","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"8":{"w":"68","s":"8","c":{"2":{"w":"682s","s":"2s","c":{"4":{"w":"682s42","s":"42","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"s":{"w":"68s","s":"s","c":{"4":{"w":"68s415","s":"415","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true}},"d":[],"e":false},"9":{"w":"69","s":"9","c":{"1":{"w":"691","s":"1","c":{},"d":[50,50],"e":true},"4":{"w":"694s","s":"4s","c":{"1":{"w":"694s11","s":"11","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true}},"d":[],"e":false}},"d":[92,92,165,165],"e":true},"7":{"w":"7","s":"7","c":{"0":{"w":"70","s":"0","c":{"2":{"w":"702","s":"2","c":{},"d":[50,50],"e":true},"g":{"w":"70ghz","s":"ghz","c":{"c":{"w":"70ghzcurve25519","s":"curve25519","c":{},"d":[165,165,165,165],"e":true}},"d":[165],"e":true}},"d":[],"e":false},"6":{"w":"765s","s":"65s","c":{"4":{"w":"765s44","s":"44","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true},"9":{"w":"799","s":"99","c":{},"d":[76,76,76,76,76,76,92,92,92,92,92,92],"e":true}},"d":[59,59,80,80,92,92,93,93,114,114,165,165],"e":true},"8":{"w":"8","s":"8","c":{"0":{"w":"80","s":"0","c":{"2":{"w":"802s","s":"2s","c":{"1":{"w":"802s139","s":"139","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"6":{"w":"806","s":"6","c":{},"d":[45,45,45,45,45],"e":true},"7":{"w":"807s","s":"7s","c":{"8":{"w":"807s8c20","s":"8c20","c":{},"d":[165,165],"e":true}},"d":[165,165,165],"e":true}},"d":[],"e":false},"1":{"w":"81","s":"1","c":{"8":{"w":"818","s":"8","c":{},"d":[50,50],"e":true},"9":{"w":"8192","s":"92","c":{"p":{"w":"8192plain_modulus","s":"plain_modulus","c":{},"d":[48,48],"e":true}},"d":[48,48,48],"e":true}},"d":[165,165],"e":true},"2":{"w":"82","s":"2","c":{"6":{"w":"8269cy","s":"69cy","c":{},"d":[165,165,165,165,166],"e":true},"8":{"w":"828s","s":"8s","c":{"8":{"w":"828s87","s":"87","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"9":{"w":"829","s":"9","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"3":{"w":"836","s":"36","c":{"9":{"w":"8369b","s":"9b","c":{},"d":[165,165,165,165],"e":true},"s":{"w":"836s","s":"s","c":{"3":{"w":"836s354","s":"354","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true}},"d":[],"e":false},"4":{"w":"842s","s":"42s","c":{"1":{"w":"842s16c11","s":"16c11","c":{},"d":[165,165],"e":true}},"d":[165,165,165],"e":true},"5":{"w":"85","s":"5","c":{},"d":[165,165],"e":true},"6":{"w":"86","s":"6","c":{},"d":[45,45,45,45,45],"e":true},"7":{"w":"87","s":"7","c":{},"d":[165,165],"e":true},"9":{"w":"896","s":"96","c":{},"d":[50,50],"e":true},"c":{"w":"8c","s":"c","c":{"2":{"w":"8c20","s":"20","c":{},"d":[165],"e":true},"4":{"w":"8c4","s":"4","c":{},"d":[165],"e":true}},"d":[165,165,165,165],"e":true}},"d":[37,37,59,59,80,80,92,92,93,93,114,114],"e":true},"9":{"w":"9","s":"9","c":{"0":{"w":"903s","s":"03s","c":{"2":{"w":"903s208","s":"208","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"1":{"w":"91","s":"1","c":{"2":{"w":"912","s":"2","c":{},"d":[50,50],"e":true},"9":{"w":"919s","s":"9s","c":{"4":{"w":"919s40","s":"40","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true}},"d":[],"e":false},"2":{"w":"921s","s":"21s","c":{"6":{"w":"921s6","s":"6","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"3":{"w":"932s","s":"32s","c":{"6":{"w":"932s66","s":"66","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"4":{"w":"94s","s":"4s","c":{"1":{"w":"94s1672","s":"1672","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true},"6":{"w":"965s","s":"65s","c":{"1":{"w":"965s100","s":"100","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true},"8":{"w":"983s","s":"83s","c":{"1":{"w":"983s192","s":"192","c":{},"d":[166,166,166],"e":true}},"d":[166,166],"e":true},"9":{"w":"994s","s":"94s","c":{"8":{"w":"994s8c4","s":"8c4","c":{},"d":[165,165],"e":true}},"d":[165,165,165],"e":true}},"d":[45,45,45,45,45,92,92,165,165],"e":true},"该":{"w":"该","s":"该","c":{},"d":[1,22,22,22,22,22,42,43,43,44,45,45,45,47,47,70,70,70,70,70,73,73,73,73,73,84,84,84,84,84,87,87,87,87,87,91,91,91,91,91,109,142,142,143,143,145],"e":true},"仓":{"w":"仓","s":"仓","c":{},"d":[1,1,1,17,17,139],"e":true},"包":{"w":"包","s":"包","c":{},"d":[1,22,22,42,44,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,55,55,55,55,55,56,56,56,56,56,59,59,59,59,80,80,80,80,93,93,93,93,114,114,114,114,114,114,141,141,141,141,145],"e":true},"含":{"w":"含","s":"含","c":{},"d":[1,44,49,55,55,55,55,55,56,56,56,56,56,59,59,59,59,80,80,80,80,92,92,92,92,92,93,93,93,93,114,114,114,114,114,114,141,141,141,141,145],"e":true},"s":{"w":"s","s":"s","c":{"e":{"w":"se","s":"e","c":{"c":{"w":"sec","s":"c","c":{"2":{"w":"sec2","s":"2","c":{},"d":[42,42,42,42,42,42,42,50,50,50,91,91,91,91,91,91],"e":true},"r":{"w":"secret","s":"ret","c":{"f":{"w":"secretflow","s":"flow","c":{},"d":[1,1,1,1,1,22,22,22,22,22,22,22,25,25,25,25,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,31,31,31,31,31,31,31,31,31,31,31,31,41,42,48,49,49,129,129,129,129,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,137,137,147,147,161,161],"e":true},"p":{"w":"secretpad","s":"pad","c":{},"d":[1,1,22,22,22,22,22,22,32,32],"e":true}},"d":[],"e":false},"p":{"w":"secp256k1","s":"p256k1","c":{},"d":[42,42,42,42,42,159,159,159],"e":true},"u":{"w":"secur","s":"ur","c":{"e":{"w":"secure","s":"e","c":{},"d":[50,50,50,50,50,50,50,50],"e":true},"i":{"w":"security","s":"ity","c":{"n":{"w":"securitynovember","s":"november","c":{},"d":[50,50],"e":true}},"d":[50,50,50,50,50,50,50,50,50,50,76,76,76,76,76],"e":true}},"d":[],"e":false},"g":{"w":"secg","s":"g","c":{},"d":[50,50,50,91,91,91,91,91,91],"e":true}},"d":[50,50,91,91,91,91,91],"e":true},"a":{"w":"seal","s":"al","c":{"p":{"w":"sealp","s":"p","c":{"i":{"w":"sealpir","s":"ir","c":{},"d":[6,6,8,8,11,11,136,136,136,136,136,136],"e":true},"a":{"w":"sealparams","s":"arams","c":{},"d":[48,48,48,48,48,48,48],"e":true}},"d":[],"e":false}},"d":[48,48,48,48,48,48,48,48,48,48,48,50,50,50,50,50],"e":true},"q":{"w":"sequence","s":"quence","c":{"d":{"w":"sequenced","s":"d","c":{},"d":[50,50],"e":true}},"d":[114,114],"e":true},"t":{"w":"set","s":"t","c":{},"d":[50,50,50,50,50,50,50,50,50,50,76,76,76,76,76],"e":true},"p":{"w":"sep","s":"p","c":{},"d":[50,50],"e":true},"n":{"w":"send","s":"nd","c":{"e":{"w":"sender","s":"er","c":{"d":{"w":"senderdb","s":"db","c":{},"d":[56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56],"e":true},"e":{"w":"senderecdh_config","s":"ecdh_config","c":{},"d":[69,69],"e":true},"_":{"w":"sender_","s":"_","c":{"i":{"w":"sender_input","s":"input","c":{},"d":[130,130,130,130,130,130,130,130,130,130],"e":true},"d":{"w":"sender_data_rows","s":"data_rows","c":{},"d":[145,145,145,145,145,145],"e":true}},"d":[],"e":false},"s":{"w":"senders","s":"s","c":{},"d":[140,142,142,142],"e":true}},"d":[69,69,69,70,70,78,78,78,78,78,78,78,78,78,78,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,140,140,142,142,143,143,143,143,143,143,145,145,145,145,145,145,145,147,147,147,147,147,147,147,147,147,147],"e":true},"a":{"w":"sendasync","s":"async","c":{},"d":[109,109],"e":true}},"d":[],"e":false},"r":{"w":"serv","s":"rv","c":{"e":{"w":"server","s":"er","c":{"_":{"w":"server_","s":"_","c":{"s":{"w":"server_s","s":"s","c":{"e":{"w":"server_secret_key_path","s":"ecret_key_path","c":{},"d":[73,73,73,73,73],"e":true},"s":{"w":"server_ssl_opts","s":"sl_opts","c":{},"d":[109,148,148,148],"e":true}},"d":[],"e":false},"g":{"w":"server_get_result","s":"get_result","c":{},"d":[73,73,73,73,73,73,73,73,73,73],"e":true}},"d":[],"e":false},"s":{"w":"servers","s":"s","c":{},"d":[140],"e":true}},"d":[73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,78,78,78,78,78,78,78,78,78,78,78,78,79,79,79,79,145],"e":true},"i":{"w":"service","s":"ice","c":{"s":{"w":"services","s":"s","c":{"r":{"w":"servicesrepeated","s":"repeated","c":{},"d":[102,102,102],"e":true}},"d":[102,102],"e":true},"p":{"w":"servicepod","s":"pod","c":{},"d":[102,102,102],"e":true}},"d":[95,95,95,95,95,102,102,102,104],"e":true}},"d":[],"e":false},"l":{"w":"sel","s":"l","c":{"e":{"w":"select_fields","s":"ect_fields","c":{"r":{"w":"select_fieldsrepeated","s":"repeated","c":{},"d":[86,86,86],"e":true}},"d":[86,86],"e":true},"f":{"w":"self_","s":"f_","c":{"l":{"w":"self_link_party","s":"link_party","c":{},"d":[97,97,97,97,97],"e":true},"p":{"w":"self_party_idx","s":"party_idx","c":{},"d":[101,101,101,101,101],"e":true},"e":{"w":"self_endpoint_idx","s":"endpoint_idx","c":{},"d":[101,101,101,101,101],"e":true}},"d":[],"e":false}},"d":[],"e":false}},"d":[],"e":false},"c":{"w":"sc","s":"c","c":{"q":{"w":"scql","s":"ql","c":{},"d":[1,1,22,22,22,22,22,22,31,31,31,31,31,31,31,31,31,31,31,31,31,31],"e":true},"h":{"w":"sch","s":"h","c":{"o":{"w":"scho","s":"o","c":{"l":{"w":"scholl","s":"ll","c":{},"d":[50,50,50,50,50,50,50,50],"e":true},"p":{"w":"schoppmann","s":"ppmann","c":{},"d":[50,50,50,50],"e":true}},"d":[],"e":false},"n":{"w":"schneider","s":"neider","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"n":{"w":"scn","s":"n","c":{},"d":[50,50],"e":true},"a":{"w":"scala","s":"ala","c":{"b":{"w":"scalable","s":"ble","c":{},"d":[50,50,50,50],"e":true},"r":{"w":"scalar","s":"r","c":{},"d":[61,61,61,82,82,82,95,95,95],"e":true}},"d":[],"e":false},"o":{"w":"scope","s":"ope","c":{},"d":[103,103,103,103,103],"e":true}},"d":[],"e":false},"p":{"w":"sp","s":"p","c":{"u":{"w":"spu","s":"u","c":{},"d":[1,1,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,41,42,48,135],"e":true},"e":{"w":"speed","s":"eed","c":{},"d":[50,50],"e":true},"r":{"w":"springer","s":"ringer","c":{},"d":[50,50,50,50,50,50,50,50],"e":true},"d":{"w":"spdlog_level_","s":"dlog_level_","c":{"t":{"w":"spdlog_level_trace","s":"trace","c":{},"d":[63,63],"e":true},"d":{"w":"spdlog_level_debug","s":"debug","c":{},"d":[63,63],"e":true},"i":{"w":"spdlog_level_info","s":"info","c":{},"d":[63,63],"e":true},"w":{"w":"spdlog_level_warn","s":"warn","c":{},"d":[63,63],"e":true},"e":{"w":"spdlog_level_error","s":"error","c":{},"d":[63,63],"e":true},"c":{"w":"spdlog_level_critical","s":"critical","c":{},"d":[63,63],"e":true},"o":{"w":"spdlog_level_off","s":"off","c":{},"d":[63,63],"e":true}},"d":[],"e":false}},"d":[50,50,76,76,76,76,76],"e":true},"k":{"w":"skip_duplicates_check","s":"kip_duplicates_check","c":{},"d":[3,3,3,20,20],"e":true},"i":{"w":"si","s":"i","c":{"m":{"w":"simpleshuffledbatchprovider","s":"mpleshuffledbatchprovider","c":{},"d":[18,18],"e":true},"l":{"w":"sil","s":"l","c":{"v":{"w":"silver","s":"ver","c":{},"d":[49,50,50],"e":true},"e":{"w":"silent","s":"ent","c":{},"d":[50,50,50,50,50,50,55,55,55,55,55,56,56,56,56,56],"e":true}},"d":[],"e":false},"g":{"w":"sigsac","s":"gsac","c":{},"d":[50,50],"e":true},"n":{"w":"sint","s":"nt","c":{"3":{"w":"sint32","s":"32","c":{},"d":[59,59,59,59,80,80,80,80,93,93,93,93,114,114,114,114],"e":true},"6":{"w":"sint64","s":"64","c":{},"d":[59,59,59,59,80,80,80,80,93,93,93,93,114,114,114,114],"e":true}},"d":[],"e":false}},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"o":{"w":"so","s":"o","c":{"r":{"w":"sort_output","s":"rt_output","c":{},"d":[20,20],"e":true},"u":{"w":"source","s":"urce","c":{"_":{"w":"source_file","s":"_file","c":{},"d":[56,56,56,56,56,143,143],"e":true}},"d":[29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29],"e":true},"m":{"w":"some","s":"me","c":{"w":{"w":"somewhat","s":"what","c":{},"d":[50,50],"e":true}},"d":[142],"e":true}},"d":[142],"e":true},"y":{"w":"sy","s":"y","c":{"n":{"w":"syncwait","s":"ncwait","c":{},"d":[20,20],"e":true},"m":{"w":"symposium","s":"mposium","c":{},"d":[50,50,50,50,76,76,76,76,76],"e":true}},"d":[],"e":false},"u":{"w":"su","s":"u","c":{"p":{"w":"support","s":"pport","c":{},"d":[42,42,42,42,42,75],"e":true},"b":{"w":"sub","s":"b","c":{"f":{"w":"subfield","s":"field","c":{},"d":[50,50],"e":true}},"d":[49,49],"e":true},"i":{"w":"suitable","s":"itable","c":{},"d":[142],"e":true}},"d":[],"e":false},"m":{"w":"sm","s":"m","c":{"2":{"w":"sm2","s":"2","c":{},"d":[42,42,42,91,91,159,159,159],"e":true},"a":{"w":"smaller","s":"aller","c":{},"d":[78,78,78,78,78],"e":true}},"d":[],"e":false},"h":{"w":"she","s":"he","c":{},"d":[48],"e":true},"_":{"w":"s_i","s":"_i","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"s":{"w":"ss","s":"s","c":{"_":{"w":"ss_i","s":"_i","c":{},"d":[48,48,48,48,48,48,48,48,48],"e":true},"i":{"w":"ssi","s":"i","c":{},"d":[48,48,48,48,48,48],"e":true},"l":{"w":"ssl","s":"l","c":{"o":{"w":"ssloptionsproto","s":"optionsproto","c":{},"d":[95,95,95,95,95,109,109,109,109],"e":true}},"d":[109,109,109,112,148,148],"e":true}},"d":[],"e":false},"t":{"w":"st","s":"t","c":{"a":{"w":"sta","s":"a","c":{"t":{"w":"stats_params","s":"ts_params","c":{},"d":[48,48,48,48,48],"e":true},"n":{"w":"standards","s":"ndards","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"o":{"w":"sto","s":"o","c":{"c":{"w":"stockmeyer","s":"ckmeyer","c":{},"d":[48,48,48,48,48,48,48,48,48,48],"e":true},"r":{"w":"store","s":"re","c":{},"d":[148,148],"e":true}},"d":[],"e":false},"r":{"w":"str","s":"r","c":{"u":{"w":"structured","s":"uctured","c":{},"d":[50,50],"e":true},"i":{"w":"string","s":"ing","c":{"s":{"w":"stringstringstr","s":"stringstr","c":{},"d":[59,59,80,80,93,93,114,114],"e":true},"b":{"w":"stringbytestringstr","s":"bytestringstr","c":{},"d":[59,59,80,80,93,93,114,114],"e":true},"f":{"w":"stringfile","s":"file","c":{},"d":[66,66,66],"e":true},"c":{"w":"stringcsv","s":"csv","c":{},"d":[68,68,68],"e":true},"p":{"w":"stringpod","s":"pod","c":{},"d":[103,103,103],"e":true}},"d":[55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,63,63,63,63,63,63,63,63,63,63,63,63,63,63,66,66,66,66,68,68,68,68,70,70,70,70,70,70,70,71,71,71,71,71,71,71,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,80,80,84,84,84,84,84,84,84,84,84,84,84,84,84,84,86,86,86,86,86,86,86,86,86,86,86,86,86,86,88,88,88,88,88,88,88,93,93,97,97,97,97,97,97,97,102,102,102,102,102,102,102,102,102,102,102,102,102,102,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,104,104,104,104,104,104,104,104,104,104,104,104,104,104,106,106,106,106,106,106,106,109,109,109,109,109,109,109,109,109,109,109,110,110,110,110,110,110,110,110,110,110,110,110,110,110,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,114,114],"e":true}},"d":[],"e":false}},"d":[],"e":false},"r":{"w":"srinivasan","s":"rinivasan","c":{},"d":[50,50,50,50,50,50],"e":true},"a":{"w":"sa","s":"a","c":{"k":{"w":"sako","s":"ko","c":{},"d":[50,50],"e":true},"v":{"w":"save_db_only","s":"ve_db_only","c":{},"d":[56,56,56,56,56],"e":true}},"d":[],"e":false},"d":{"w":"sdb_out_file","s":"db_out_file","c":{},"d":[56,56,56,56,56],"e":true},"f":{"w":"sf","s":"f","c":{"i":{"w":"sfixed","s":"ixed","c":{"3":{"w":"sfixed32","s":"32","c":{},"d":[59,59,80,80,93,93,114,114],"e":true},"6":{"w":"sfixed64","s":"64","c":{},"d":[59,59,80,80,93,93,114,114],"e":true}},"d":[],"e":false},"p":{"w":"sfpsiconfigmapentry","s":"psiconfigmapentry","c":{},"d":[95,95,95,95,95,105,105,105,105,105,105],"e":true},"_":{"w":"sf_psi_config_map","s":"_psi_config_map","c":{"m":{"w":"sf_psi_config_mapmap","s":"map","c":{},"d":[105,105],"e":true}},"d":[105,105],"e":true}},"d":[],"e":false},"q":{"w":"sql","s":"ql","c":{},"d":[75,147],"e":true}},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,50,50,50,50,142],"e":true},"项":{"w":"项","s":"项","c":{},"d":[1,29,29,29,29,29,29,29,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,56,56,56,56,56,56,56,56,56,70,70,70,70,70,73,73,73,73,73,109,109,111,112,141,141,145],"e":true},"目":{"w":"目","s":"目","c":{},"d":[1,5,5,22,45,49,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,71,71,71,71,71,117,118,127,147,150],"e":true},"中":{"w":"中","s":"中","c":{},"d":[1,5,5,14,14,14,14,14,14,15,15,18,18,18,18,18,18,18,18,21,21,21,21,21,21,37,42,42,42,42,42,43,43,44,44,44,44,45,45,45,45,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,56,56,56,56,56,56,56,56,56,56,65,65,65,65,65,67,67,67,67,67,67,67,67,67,67,68,68,68,68,68,71,71,71,71,71,72,72,72,72,72,72,72,72,72,72,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,80,80,80,80,80,84,84,84,84,84,84,84,84,84,84,86,86,86,86,86,87,87,87,87,87,87,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,94,94,109,118,127,136,139,142,143,143,145,145,147,147,147,147,147,148,148,148,148,148,150,159,160,162,162],"e":true},"隐":{"w":"隐","s":"隐","c":{},"d":[1,1,41,41,45,45,45,45,45,45,45,45,45,45,48,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,158],"e":true},"私":{"w":"私","s":"私","c":{},"d":[1,41,41,45,45,45,45,45,45,45,45,45,45,47,47,47,47,48,48,48,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,112,112,112,112,112,127,148,148,158],"e":true},"求":{"w":"求","s":"求","c":{},"d":[1,20,20,45,47,48,70,70,70,70,70,73,73,73,73,73,77,92,92,92,92,92,109,109,142,143,158],"e":true},"交":{"w":"交","s":"交","c":{},"d":[1,39,42,42,43,43,43,44,44,45,45,45,45,45,45,45,45,45,47,47,47,47,48,48,48,49,49,55,55,55,55,55,70,70,70,70,70,73,73,73,73,73,77,89,89,89,89,89,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,147,147,147,167],"e":true},"p":{"w":"p","s":"p","c":{"s":{"w":"ps","s":"s","c":{"i":{"w":"psi","s":"i","c":{"_":{"w":"psi_","s":"_","c":{"v":{"w":"psi_v2","s":"v2","c":{},"d":[3,3,29,29,29,29,29,29,29,29,97,97,97,97,97,97,97,97,97,97],"e":true},"t":{"w":"psi_t","s":"t","c":{"e":{"w":"psi_test","s":"est","c":{},"d":[18,18],"e":true},"y":{"w":"psi_type","s":"ype","c":{},"d":[84,84,84,84,84,87,87,87,87,87],"e":true}},"d":[],"e":false},"d":{"w":"psi_df","s":"df","c":{},"d":[29,29,29,29,29,29,29,29],"e":true},"c":{"w":"psi_c","s":"c","c":{"s":{"w":"psi_csv","s":"sv","c":{},"d":[29,29,29,29,29,29,29,29],"e":true},"o":{"w":"psi_config","s":"onfig","c":{},"d":[97,97,97,97,97],"e":true}},"d":[],"e":false},"j":{"w":"psi_join_","s":"join_","c":{"d":{"w":"psi_join_df","s":"df","c":{},"d":[29,29,29,29,29,29,29,29],"e":true},"c":{"w":"psi_join_csv","s":"csv","c":{},"d":[29,29,29,29,29,29,29,29],"e":true}},"d":[],"e":false}},"d":[],"e":false},"c":{"w":"psiconfig","s":"config","c":{},"d":[61,61,61,61,61,61,61,61,61,61,70,70,70,70,70,70,70,73,73,73,73,73,73,94,97,97,97,97,97,97,97],"e":true},"r":{"w":"psire","s":"re","c":{"p":{"w":"psireport","s":"port","c":{},"d":[70],"e":true},"s":{"w":"psiresultreport","s":"sultreport","c":{},"d":[82,82,82,82,82],"e":true}},"d":[],"e":false},"t":{"w":"psitype","s":"type","c":{"p":{"w":"psitypepsi","s":"psi","c":{},"d":[84,84,84,87,87,87],"e":true}},"d":[82,82,82,82,82,84,84,84,87,87,87],"e":true},"k":{"w":"psikkrt_psi_2pc2","s":"kkrt_psi_2pc2","c":{},"d":[92,92],"e":true},"p":{"w":"psiparams","s":"params","c":{},"d":[142,142],"e":true}},"d":[1,1,4,4,4,4,14,14,18,18,18,18,18,18,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,25,25,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,31,31,31,31,31,33,33,40,40,40,40,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,42,42,42,42,43,43,43,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,50,50,50,50,50,50,50,50,50,50,50,50,51,51,51,51,51,51,51,51,63,63,63,63,63,64,64,64,64,64,64,64,69,71,73,76,76,76,76,76,76,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,85,86,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,88,89,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,94,94,94,94,94,97,97,97,97,97,97,97,97,97,97,106,106,106,106,106,106,106,115,115,115,115,115,115,115,115,115,115,115,115,115,117,129,129,130,132,133,133,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,137,147,147,147,147,148,148,149,149,150,150,150,151,152,155,157,158,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,160,160,160,161,163,165,165,167,167,167],"e":true},"z":{"w":"psz18","s":"z18","c":{},"d":[44],"e":true},"t":{"w":"psty19","s":"ty19","c":{},"d":[45,45],"e":true},"_":{"w":"ps_low_degree","s":"_low_degree","c":{},"d":[48,48,48,48,48,48,48,48,48,48],"e":true},"e":{"w":"pseudorandom","s":"eudorandom","c":{"n":{"w":"pseudorandomness","s":"ness","c":{},"d":[50,50],"e":true}},"d":[50,50,50,50,50,50],"e":true}},"d":[48,48,48,48,48],"e":true},"i":{"w":"pi","s":"i","c":{"r":{"w":"pir","s":"r","c":{"_":{"w":"pir_","s":"_","c":{"s":{"w":"pir_setup","s":"setup","c":{},"d":[29,29,29,29,29,29,29,29],"e":true},"q":{"w":"pir_query","s":"query","c":{},"d":[29,29,29,29,29,29,29,29],"e":true},"m":{"w":"pir_memory_query","s":"memory_query","c":{},"d":[29,29,29,29,29,29,29,29],"e":true},"c":{"w":"pir_config","s":"config","c":{},"d":[29,29,29,29,29,29,29,29],"e":true}},"d":[],"e":false}},"d":[1,5,5,5,5,14,14,16,16,22,22,22,22,22,22,29,29,29,29,29,29,29,29,29,29,29,29,29,29,48,48,51,51,51,51,53,53,53,53,53,57,115,115,115,115,115,127,135,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,139,139,139,139,142,142,142],"e":true},"n":{"w":"pinkas","s":"nkas","c":{},"d":[50,50],"e":true}},"d":[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45],"e":true},"a":{"w":"pa","s":"a","c":{"r":{"w":"par","s":"r","c":{"a":{"w":"param","s":"am","c":{"s":{"w":"params","s":"s","c":{"_":{"w":"params_file","s":"_file","c":{},"d":[55,55,55,55,55,56,56,56,56,56,120,120,122,122,143,145],"e":true}},"d":[5,5,142],"e":true},"e":{"w":"parameter","s":"eter","c":{"s":{"w":"parameters","s":"s","c":{},"d":[142,142,142,142,142,142,142,142,142],"e":true}},"d":[142],"e":true}},"d":[],"e":false},"t":{"w":"part","s":"t","c":{"y":{"w":"party","s":"y","c":{"p":{"w":"partyproto","s":"proto","c":{},"d":[95,95,95,95,95,109,109,109,109,109,109],"e":true}},"d":[50,50,76,76,76,76,76,95,95,95,95,95,101,101,101,101,101,101,102],"e":true},"i":{"w":"parties","s":"ies","c":{"r":{"w":"partiesrepeated","s":"repeated","c":{},"d":[101,101,109],"e":true}},"d":[101,101,109,109],"e":true}},"d":[],"e":false}},"d":[],"e":false},"t":{"w":"pat","s":"t","c":{"e":{"w":"paterson","s":"erson","c":{},"d":[48,48,48,48,48,48,48,48,48,48],"e":true},"h":{"w":"path","s":"h","c":{},"d":[66,66,66,66,66,86,86,86,86,86,88,88,88,88,88],"e":true}},"d":[],"e":false},"g":{"w":"page","s":"ge","c":{"s":{"w":"pages","s":"s","c":{},"d":[50,50,50,50,50,50,50,50,50,50,50,50,50,50],"e":true}},"d":[50,50,50,50,51],"e":true}},"d":[],"e":false},"y":{"w":"py","s":"y","c":{"t":{"w":"python","s":"thon","c":{},"d":[22,22,22,22,22,22,22,22,22,22,22,22,37,37,59,59,59,59,59,80,80,80,80,80,93,93,93,93,93,114,114,114,114,114],"e":true},"_":{"w":"py_api","s":"_api","c":{},"d":[28,28],"e":true}},"d":[151,151,151],"e":true},"e":{"w":"pe","s":"e","c":{"r":{"w":"per","s":"r","c":{"l":{"w":"perl","s":"l","c":{},"d":[37,37],"e":true},"f":{"w":"performance","s":"formance","c":{},"d":[109],"e":true}},"d":[],"e":false},"t":{"w":"peter","s":"ter","c":{},"d":[50,50,50,50,50,50,50,50,50,50],"e":true}},"d":[],"e":false},"l":{"w":"pl","s":"l","c":{"a":{"w":"pla","s":"a","c":{"t":{"w":"platinum","s":"tinum","c":{"c":{"w":"platinumcpu2","s":"cpu2","c":{},"d":[165,165,165,165,165,165],"e":true}},"d":[45,45,45,45,45,165,165,165,165,166],"e":true},"i":{"w":"plain_modulus","s":"in_modulus","c":{"_":{"w":"plain_modulus_bits","s":"_bits","c":{},"d":[48,48,48,48,48],"e":true}},"d":[48,48,48],"e":true}},"d":[],"e":false},"e":{"w":"please","s":"ease","c":{},"d":[109],"e":true}},"d":[],"e":false},"r":{"w":"pr","s":"r","c":{"f":{"w":"prf","s":"f","c":{},"d":[47,47,47,47,47,50,50,76,76,76,76,76],"e":true},"e":{"w":"pre","s":"e","c":{"s":{"w":"press","s":"ss","c":{},"d":[50,50,50,50,50,50,50,50,50,50,50,50,50,50],"e":true},"p":{"w":"preprocess_path","s":"process_path","c":{},"d":[84,84,84,84,84],"e":true},"c":{"w":"precheck","s":"check","c":{},"d":[86,86,86,86,86],"e":true}},"d":[],"e":false},"i":{"w":"pri","s":"i","c":{"v":{"w":"priva","s":"va","c":{"t":{"w":"private","s":"te","c":{"_":{"w":"private_key_path","s":"_key_path","c":{},"d":[112,112,112,112,112,148,148,148],"e":true}},"d":[50,50,50,50,50,50,50,50,50,50,76,76,76,76,76],"e":true},"c":{"w":"privacy","s":"cy","c":{},"d":[50,50,50,50,50,50,50,50,76,76,76,76,76],"e":true}},"d":[],"e":false},"m":{"w":"prime","s":"me","c":{},"d":[50,50,50,50],"e":true}},"d":[],"e":false},"o":{"w":"pro","s":"o","c":{"c":{"w":"proceedings","s":"ceedings","c":{},"d":[50,50],"e":true},"t":{"w":"proto","s":"to","c":{"c":{"w":"protocol","s":"col","c":{"c":{"w":"protocolconfig","s":"config","c":{},"d":[61,61,61,61,61,70,70,70,70,70,70],"e":true},"_":{"w":"protocol_","s":"_","c":{"c":{"w":"protocol_config","s":"config","c":{},"d":[70,70,70,70,70],"e":true},"u":{"w":"protocol_unspecified","s":"unspecified","c":{"0":{"w":"protocol_unspecified0","s":"0","c":{},"d":[76,76,76],"e":true}},"d":[76,76],"e":true},"e":{"w":"protocol_ecdh","s":"ecdh","c":{"1":{"w":"protocol_ecdh1","s":"1","c":{},"d":[76,76,76],"e":true}},"d":[76,76],"e":true},"k":{"w":"protocol_kkrt","s":"kkrt","c":{"2":{"w":"protocol_kkrt2efficient","s":"2efficient","c":{},"d":[76,76,76],"e":true}},"d":[76,76],"e":true},"r":{"w":"protocol_rr22","s":"rr22","c":{"3":{"w":"protocol_rr223blazing","s":"3blazing","c":{},"d":[76],"e":true}},"d":[76,76],"e":true}},"d":[],"e":false}},"d":[50,50,51,61,61,61,61,61,69,69,69,69,69,69,69,69,69,69,69,72,76,76,76,76,76,103,103,103],"e":true}},"d":[59,59,59,59,59,80,80,80,80,80,93,93,93,93,93,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,114,114,114,114,114,147,147],"e":true},"o":{"w":"proofs","s":"ofs","c":{},"d":[50,50],"e":true},"v":{"w":"provide","s":"vide","c":{"s":{"w":"provides","s":"s","c":{},"d":[142],"e":true},"d":{"w":"provided","s":"d","c":{},"d":[148,148],"e":true}},"d":[],"e":false}},"d":[],"e":false},"a":{"w":"practical","s":"actical","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"o":{"w":"po","s":"o","c":{"p":{"w":"poprf","s":"prf","c":{},"d":[47],"e":true},"l":{"w":"poly_modulus_degree","s":"ly_modulus_degree","c":{},"d":[48,48,48,48,48,48,48,48,48,48],"e":true},"r":{"w":"port","s":"rt","c":{"s":{"w":"ports","s":"s","c":{"r":{"w":"portsrepeated","s":"repeated","c":{},"d":[100,100],"e":true}},"d":[100,100],"e":true},"_":{"w":"port_name","s":"_name","c":{},"d":[104,104,104,104],"e":true}},"d":[95,95,95,95,95,100,100,100,100,100,100,103,103,103,103,103,103],"e":true},"d":{"w":"pod","s":"d","c":{},"d":[100,102,102,103,103,103,103,103],"e":true}},"d":[],"e":false},"c":{"w":"pcg","s":"cg","c":{"s":{"w":"pcgs","s":"s","c":{},"d":[49],"e":true},"_":{"w":"pcg_psi","s":"_psi","c":{},"d":[159,159,159,159],"e":true}},"d":[49],"e":true},"u":{"w":"public","s":"ublic","c":{},"d":[50,50],"e":true},"k":{"w":"pkc","s":"kc","c":{},"d":[50,50],"e":true},"p":{"w":"pp","s":"p","c":{},"d":[50,50,50,50,50,50,50,50,50,50,76,76,76,76,76],"e":true},"d":{"w":"pdf","s":"df","c":{"p":{"w":"pdfprotocol_rr223blazing","s":"protocol_rr223blazing","c":{},"d":[76,76],"e":true},"c":{"w":"pdfcurve_25519_elligator25","s":"curve_25519_elligator25","c":{},"d":[91,91],"e":true},"e":{"w":"pdfecdh_psi_3pc4","s":"ecdh_psi_3pc4","c":{},"d":[92,92],"e":true},"r":{"w":"pdfrr22_lowcomm_psi_2pc14nonerr22_malicious_psi_2pc15none","s":"rr22_lowcomm_psi_2pc14nonerr22_malicious_psi_2pc15none","c":{},"d":[92,92],"e":true}},"d":[50,50,50,50,50,50,50,50,50,50,50,50,76,76,76,76,76,76,76,76,76,76,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92],"e":true},"h":{"w":"phillipp","s":"hillipp","c":{},"d":[50,50],"e":true}},"d":[49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50],"e":true},"和":{"w":"和","s":"和","c":{},"d":[1,1,6,6,7,7,11,11,20,20,38,40,42,42,42,42,42,42,42,43,43,43,43,44,44,44,44,44,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,56,56,56,56,56,71,71,71,71,71,71,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,92,92,92,92,92,94,118,118,119,123,123,127,127,130,130,130,130,130,130,130,130,130,130,134,139,141,141,142,142,147,147,147,147,147,148,148,148,148,152,155,155,159,159,159],"e":true},"匿":{"w":"匿","s":"匿","c":{},"d":[1,135],"e":true},"查":{"w":"查","s":"查","c":{},"d":[1,14,14,20,20,20,20,20,20,25,33,37,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,55,55,55,55,55,55,55,55,55,56,70,70,70,70,70,71,71,71,71,71,71,86,86,86,86,86,94,94,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,127,130,133,135,137,142,142,143,144,144,145,145,145,145,145,145,145,147,159,160,161],"e":true},"询":{"w":"询","s":"询","c":{},"d":[1,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,127,135,143,145,145,145,145,145,145,145],"e":true},"相":{"w":"相","s":"相","c":{},"d":[1,22,22,31,31,31,31,31,40,45,49,55,55,55,55,55,55,55,55,55,55,56,69,70,70,70,70,70,109,114,114,114,114,118,127,127,127,127,127,142,143,144,144,148],"e":true},"关":{"w":"关","s":"关","c":{},"d":[1,22,22,22,31,31,31,31,31,40,48,48,48,48,48,48,48,48,49,69,112,112,112,112,112,127,127,142,144,144],"e":true},"的":{"w":"的","s":"的","c":{},"d":[1,1,1,1,3,3,4,4,4,4,6,6,12,12,14,14,17,17,18,18,18,18,18,18,20,20,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,37,39,40,41,41,41,41,41,41,41,41,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,57,59,59,59,59,63,63,63,63,63,63,64,65,65,65,65,65,66,66,66,66,66,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,68,68,68,68,68,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,80,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,85,85,85,85,85,85,86,86,86,86,86,86,87,87,87,87,87,87,87,87,87,87,87,88,88,88,88,88,88,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,102,102,102,102,102,102,102,102,102,102,102,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,104,104,104,104,104,104,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,114,114,114,114,114,114,115,116,117,118,118,118,118,118,120,120,122,122,123,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,139,139,139,139,139,139,139,139,139,140,140,142,142,142,142,143,143,143,143,143,145,145,145,145,145,145,145,145,145,145,146,147,147,147,147,147,147,147,147,147,147,147,148,148,148,148,148,148,148,149,149,150,150,151,152,157,159,159,159,159,159,159,160,166,167,167],"e":true},"代":{"w":"代","s":"代","c":{},"d":[1,45,49,92,92,92,92,92,92,92,92,92,92,93,93,93,93,101,127,139,157,157,157,157],"e":true},"码":{"w":"码","s":"码","c":{},"d":[1,49,49,49,49,49,49,49,49,49,49,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,84,84,84,84,84,87,87,87,87,87,91,91,91,91,91,91,91,91,91,91,91,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,139,159,159,159,159,159],"e":true},"功":{"w":"功","s":"功","c":{},"d":[1,3,3,3,20,20,45,45,48,48,48,48,48,48,117,139,148,150],"e":true},"能":{"w":"能","s":"能","c":{},"d":[1,3,3,3,20,20,22,22,22,22,22,40,42,45,45,45,45,45,47,47,48,48,48,48,48,48,49,59,59,59,59,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,80,80,80,80,93,93,93,93,93,93,109,114,114,114,114,114,114,114,114,118,118,123,127,127,127,127,127,127,127,139,147,147,148,151,159,159,167,167],"e":true},"都":{"w":"都","s":"都","c":{},"d":[1,73,73,73,73,73,147,147,148,148],"e":true},"是":{"w":"是","s":"是","c":{},"d":[1,1,44,45,45,45,45,47,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,65,65,65,65,65,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,71,78,78,78,78,78,79,79,79,79,79,79,79,79,79,79,84,84,84,84,84,86,86,86,86,86,86,86,86,86,86,87,87,87,87,87,88,88,88,88,88,91,91,91,91,91,93,93,93,93,93,93,93,93,109,109,127,127,127,141,141,141,141,142,142,143,145,145,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,149,159,167],"e":true},"通":{"w":"通","s":"通","c":{},"d":[1,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,42,42,47,48,49,49,55,55,55,55,55,92,92,92,92,92,109,109,109,109,109,109,109,109,109,109,109,139,139,139,139,143,148,148,148,148,151,159,163,163,165,166],"e":true},"过":{"w":"过","s":"过","c":{},"d":[1,20,20,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,45,45,45,77,77,109,109,109,127,127,139,139,143,148,148,148,148,151,163,163,165,166],"e":true},"本":{"w":"本","s":"本","c":{},"d":[1,1,6,6,10,10,13,13,22,22,22,37,42,42,47,55,55,55,55,55,56,56,56,56,56,59,59,75,75,75,75,75,80,80,89,89,89,89,89,93,93,101,101,101,101,101,102,114,114,114,114,116,127,139,141,141,143,149,149],"e":true},"实":{"w":"实","s":"实","c":{},"d":[1,3,3,3,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,41,41,41,41,41,41,41,41,41,42,42,42,42,42,42,42,42,42,43,43,44,44,45,45,45,45,47,48,48,48,48,48,48,48,49,49,49,49,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,115,118,127,147,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,166,167],"e":true},"现":{"w":"现","s":"现","c":{},"d":[1,3,3,3,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,41,42,42,42,42,42,42,43,43,44,45,45,45,48,48,49,49,115,118,127,127,159],"e":true},"之":{"w":"之","s":"之","c":{},"d":[1,42,47,48,48,48,48,48,73,73,73,73,73,111,111,111,111,111],"e":true},"前":{"w":"前","s":"前","c":{},"d":[1,3,3,3,3,3,3,3,3,3,3,3,3,22,45,49,56,56,56,56,56,70,70,70,70,70,147],"e":true},"一":{"w":"一","s":"一","c":{},"d":[1,22,22,22,22,22,42,42,42,44,45,45,45,45,45,45,45,48,48,48,48,48,48,49,49,49,49,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,65,65,65,65,65,70,70,70,70,70,73,73,73,73,73,78,78,78,78,78,78,79,79,79,79,79,91,91,91,91,91,103,103,103,103,103,109,109,109,109,117,117,118,118,127,127,127,127,127,131,131,139,139,139,139,139,140,140,142,142,143,145,145,145,146,147,147,147,147,148,150,162,162,167,167],"e":true},"部":{"w":"部","s":"部","c":{},"d":[1,22,22,22,22,22,48,79,79,79,79,79,79,79,79,79,79,146],"e":true},"分":{"w":"分","s":"分","c":{},"d":[1,8,8,22,22,22,22,22,41,41,42,42,44,45,45,45,45,45,45,45,45,45,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,67,67,67,67,67,72,72,72,72,72,79,79,79,79,79,79,79,79,79,79,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,100,100,100,100,100,100,103,103,103,103,103,103,109,109,109,123,127,139,139,145,145,145,145,146,155,157,157,159],"e":true},"注":{"w":"注","s":"注","c":{},"d":[3,3,43,43,45,45,56,59,59,59,59,59,80,80,80,80,80,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,93,93,93,93,93,118,120,122,127,127],"e":true},"意":{"w":"意","s":"意","c":{},"d":[3,3,18,18,41,41,43,43,45,45,47,48,48,48,48,48,48,48,49,49,49,49,49,56,59,59,71,80,80,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,93,93,118,120,122,127,127,147,159,159,159,159,159,159,159,159,159,159,159,167],"e":true},"f":{"w":"f","s":"f","c":{"e":{"w":"fe","s":"e","c":{"a":{"w":"feature","s":"ature","c":{},"d":[3,3,3,3,4,4,4,4,4,4,8,8,17,17,18,18,18,18,20,20,20,20,21,21,21,21,21,21,21,21],"e":true},"l":{"w":"felts_per_item","s":"lts_per_item","c":{},"d":[48,48,48,48,48,48,48,48,48,48],"e":true},"b":{"w":"feb","s":"b","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"r":{"w":"fr","s":"r","c":{"a":{"w":"franklin","s":"anklin","c":{},"d":[42,50,50],"e":true},"o":{"w":"from","s":"om","c":{},"d":[50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50],"e":true}},"d":[],"e":false},"o":{"w":"fo","s":"o","c":{"u":{"w":"four","s":"ur","c":{"q":{"w":"fourq","s":"q","c":{"l":{"w":"fourqlib","s":"lib","c":{},"d":[42,42,42,42,42,42],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,50,50,91,91,159,159,159],"e":true}},"d":[50,50],"e":true},"r":{"w":"for","s":"r","c":{},"d":[50,50,50,50,50,50,50,50,72,73,76,76,76,76,76],"e":true},"l":{"w":"folder","s":"lder","c":{},"d":[71,71,71,71,71,148,148,148],"e":true}},"d":[],"e":false},"s":{"w":"fs","s":"s","c":{},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44],"e":true},"_":{"w":"f_","s":"_","c":{},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44],"e":true},"v":{"w":"fv12","s":"v12","c":{},"d":[48,48],"e":true},"t":{"w":"ft","s":"t","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"h":{"w":"fhe","s":"he","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"l":{"w":"flo","s":"lo","c":{"o":{"w":"floor","s":"or","c":{},"d":[48,48,48,48,48],"e":true},"a":{"w":"floatfloatfloatfloat","s":"atfloatfloatfloat","c":{},"d":[59,59,80,80,93,93,114,114],"e":true}},"d":[],"e":false},"u":{"w":"fu","s":"u","c":{"l":{"w":"full","s":"ll","c":{"y":{"w":"fully","s":"y","c":{},"d":[50,50,50,50,50,50],"e":true}},"d":[70,70,77,77,77,77,147],"e":true},"n":{"w":"functions","s":"nctions","c":{},"d":[50,50,165,165],"e":true}},"d":[],"e":false},"a":{"w":"fa","s":"a","c":{"s":{"w":"fast","s":"st","c":{"e":{"w":"faster","s":"er","c":{},"d":[50,50],"e":true}},"d":[50,50,50,50,50,50,50,50,50,50,76,76,76,76,76,92,92,92,92,92],"e":true},"n":{"w":"fan","s":"n","c":{},"d":[50,50],"e":true},"l":{"w":"false","s":"lse","c":{},"d":[65,65,65,65,65,109,109],"e":true},"q":{"w":"faq","s":"q","c":{},"d":[115,115,115,115],"e":true}},"d":[],"e":false},"c":{"w":"fc2018","s":"c2018","c":{},"d":[50,50],"e":true},"i":{"w":"fi","s":"i","c":{"l":{"w":"file","s":"le","c":{},"d":[56,56,66,66,142,142],"e":true},"x":{"w":"fixed","s":"xed","c":{"3":{"w":"fixed32","s":"32","c":{},"d":[59,59,80,80,93,93,114,114],"e":true},"6":{"w":"fixed64","s":"64","c":{},"d":[59,59,80,80,93,93,114,114],"e":true}},"d":[],"e":false},"e":{"w":"field","s":"eld","c":{"t":{"w":"fieldtypedescription","s":"typedescription","c":{"l":{"w":"fieldtypedescriptionlink_config","s":"link_config","c":{},"d":[97],"e":true},"p":{"w":"fieldtypedescriptionp","s":"p","c":{"o":{"w":"fieldtypedescriptionport","s":"ort","c":{"s":{"w":"fieldtypedescriptionportsrepeated","s":"srepeated","c":{},"d":[100],"e":true},"_":{"w":"fieldtypedescriptionport_name","s":"_name","c":{},"d":[104],"e":true}},"d":[],"e":false},"a":{"w":"fieldtypedescriptionpartiesrepeated","s":"artiesrepeated","c":{},"d":[101],"e":true}},"d":[],"e":false},"n":{"w":"fieldtypedescriptionname","s":"name","c":{},"d":[102,103],"e":true},"s":{"w":"fieldtypedescriptionsf_psi_config_mapmap","s":"sf_psi_config_mapmap","c":{},"d":[105],"e":true},"k":{"w":"fieldtypedescriptionkey","s":"key","c":{},"d":[106],"e":true},"i":{"w":"fieldtypedescriptionid","s":"id","c":{},"d":[109,110],"e":true},"m":{"w":"fieldtypedescriptionmax_retry","s":"max_retry","c":{},"d":[111],"e":true},"c":{"w":"fieldtypedescriptioncertificate_path","s":"certificate_path","c":{},"d":[112],"e":true}},"d":[97,97,100,100,101,101,102,102,103,103,104,104,105,105,106,106,109,109,110,110,111,111,112,112],"e":true}},"d":[97,97,100,100,101,101,102,102,103,103,104,104,105,105,106,106,109,109,109,110,110,111,111,112,112],"e":true},"n":{"w":"find","s":"nd","c":{},"d":[142],"e":true}},"d":[],"e":false}},"d":[44,44,44,44,44,44,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,50,50,50],"e":true},"缀":{"w":"缀","s":"缀","c":{},"d":[3,3,3,3,3,3,3,3,3,3,3,3],"e":true},"表":{"w":"表","s":"表","c":{},"d":[3,3,3,3,3,3,3,3,3,3,3,3,4,4,29,29,29,45,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,68,68,68,68,68,100,101,102,102,102,102,102,102,103,104,104,104,104,104,104,127,127,127,141,141,141,141,157,157,157,157],"e":true},"示":{"w":"示","s":"示","c":{},"d":[3,3,3,3,3,3,3,3,3,3,3,3,4,4,45,45,45,48,48,48,48,68,68,68,68,68,100,102,103,104,127,127,127,127,127,133,134,134,134,144,144,144,157],"e":true},"新":{"w":"新","s":"新","c":{},"d":[3,3,3,5,5,6,6,8,8,12,12,45,45,45,45,48,48,48,48,48,49,91,91,91,91,91,109,136,136,136,136,136,139,146,148],"e":true},"b":{"w":"b","s":"b","c":{"u":{"w":"bu","s":"u","c":{"g":{"w":"bugfix","s":"gfix","c":{},"d":[3,3,3,3,6,6,6,6,7,7,11,11,11,11,14,14,18,18,18,18,18,18,19,19,20,20,20,20],"e":true},"n":{"w":"bundle","s":"ndle","c":{"s":{"w":"bundles","s":"s","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true}},"d":[48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"f":{"w":"buffer","s":"ffer","c":{"s":{"w":"buffers","s":"s","c":{},"d":[51],"e":true}},"d":[165,165],"e":true},"c":{"w":"bucket","s":"cket","c":{"_":{"w":"bucket_","s":"_","c":{"s":{"w":"bucket_size","s":"size","c":{},"d":[67,67,67,67,67,67,67,67,67,67,72,72,72,72,72,72,72,72,72,72,84,84,84,84,84],"e":true},"n":{"w":"bucket_num","s":"num","c":{},"d":[145,145,145,145,145,145,145,145,145],"e":true}},"d":[],"e":false},"p":{"w":"bucketpsiconfig","s":"psiconfig","c":{},"d":[82,82,82,82,82,94,97,97,97,97,97,97,97],"e":true}},"d":[67,67,67,67,67,72,72,72,72,72,84,145],"e":true}},"d":[],"e":false},"a":{"w":"ba","s":"a","c":{"t":{"w":"batch","s":"tch","c":{"_":{"w":"batch_size","s":"_size","c":{},"d":[5,5,5,64,64,64,64,64],"e":true},"e":{"w":"batched","s":"ed","c":{},"d":[50,50,76,76,76,76,76],"e":true}},"d":[],"e":false},"z":{"w":"bazel","s":"zel","c":{"i":{"w":"bazelisk","s":"isk","c":{"r":{"w":"bazeliskrc","s":"rc","c":{},"d":[37,37],"e":true}},"d":[37],"e":true}},"d":[37,37,37,38,117,132,150,150,163],"e":true},"r":{"w":"bar","s":"r","c":{"k":{"w":"bark","s":"k","c":{},"d":[44,44,44,44,44,159],"e":true},"o":{"w":"baronio","s":"onio","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"l":{"w":"baldi","s":"ldi","c":{},"d":[50,50],"e":true},"c":{"w":"backes","s":"ckes","c":{},"d":[50,50],"e":true},"s":{"w":"based","s":"sed","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"c":{"w":"bc","s":"c","c":{"2":{"w":"bc22","s":"22","c":{},"d":[6,6,9,9],"e":true},"g":{"w":"bcgi","s":"gi","c":{},"d":[49,49],"e":true}},"d":[],"e":false},"e":{"w":"be","s":"e","c":{"r":{"w":"ber","s":"r","c":{"0":{"w":"ber06","s":"06","c":{},"d":[42,42,42,42,42,42,42,42,42],"e":true},"n":{"w":"bern","s":"n","c":{"s":{"w":"bernstein","s":"stein","c":{},"d":[50,50,91,91,91,91,91],"e":true},"a":{"w":"bernardo","s":"ardo","c":{},"d":[50,50],"e":true},"o":{"w":"bernoulli_distribution","s":"oulli_distribution","c":{},"d":[85,85,85,85,85],"e":true}},"d":[],"e":false}},"d":[],"e":false},"t":{"w":"beta","s":"ta","c":{"h":{"w":"betah","s":"h","c":{},"d":[42,42,42,42,42,42,42,42,43,43,43,43],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"n":{"w":"benchmark","s":"nchmark","c":{},"d":[165,165],"e":true}},"d":[],"e":false},"o":{"w":"bo","s":"o","c":{"b":{"w":"bob","s":"b","c":{"_":{"w":"bob_sub_sampling","s":"_sub_sampling","c":{},"d":[85,85,85,85,85],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,85,85,109,109,155],"e":true},"y":{"w":"boyle","s":"yle","c":{},"d":[50,50,50,50,50,50,50,50,50,50],"e":true},"t":{"w":"botelho","s":"telho","c":{},"d":[50,50],"e":true},"o":{"w":"bool","s":"ol","c":{"e":{"w":"boolean","s":"ean","c":{},"d":[50,50],"e":true},"b":{"w":"boolboolbooleanboolean","s":"boolbooleanboolean","c":{},"d":[59,59,80,80,93,93,114,114],"e":true}},"d":[55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,65,65,65,65,65,65,65,69,69,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,84,84,84,84,84,84,84,86,86,86,86,86,86,86,87,87,87,87,87,87,87,88,88,88,88,88,88,88,109,109,111,111,111,111,111,111,111],"e":true}},"d":[],"e":false},"i":{"w":"bi","s":"i","c":{"n":{"w":"bin","s":"n","c":{"i":{"w":"bini","s":"i","c":{"b":{"w":"binibin_i","s":"bin_i","c":{"b":{"w":"binibin_ibini","s":"bini","c":{},"d":[44,44,44,44],"e":true}},"d":[44,44,44],"e":true}},"d":[44,44,44],"e":true},"_":{"w":"bin_i","s":"_i","c":{},"d":[44],"e":true}},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,117,150,150],"e":true}},"d":[44],"e":true},"y":{"w":"by","s":"y","c":{"b":{"w":"byb","s":"b","c":{},"d":[45,45,45,45,45,45,45,45],"e":true},"_":{"w":"by_","s":"_","c":{},"d":[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45],"e":true},"t":{"w":"bytes","s":"tes","c":{"m":{"w":"bytesmay","s":"may","c":{},"d":[114,114],"e":true}},"d":[59,59,80,80,93,93,114,114],"e":true}},"d":[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45],"e":true},"b":{"w":"bb","s":"b","c":{"b":{"w":"bbb","s":"b","c":{},"d":[45,45,45,45],"e":true},"c":{"w":"bbcd","s":"cd","c":{},"d":[47,47],"e":true}},"d":[45,45,45],"e":true},"f":{"w":"bfv","s":"fv","c":{},"d":[48],"e":true},"l":{"w":"bl","s":"l","c":{"a":{"w":"blazing","s":"azing","c":{},"d":[50,50,76,76,92,92,92,92,92],"e":true},"o":{"w":"blob","s":"ob","c":{},"d":[142,142,147,147],"e":true}},"d":[],"e":false},"r":{"w":"br","s":"r","c":{"o":{"w":"broadcast_result","s":"oadcast_result","c":{},"d":[69,69,69,69,69,84,84,84,84,84,87,87,87,87,87,147,147,147,147,147,147,147,147,147,147,147,147,147,147],"e":true},"p":{"w":"brpc","s":"pc","c":{"_":{"w":"brpc_channel_","s":"_channel_","c":{"p":{"w":"brpc_channel_protocol","s":"protocol","c":{},"d":[109],"e":true},"c":{"w":"brpc_channel_connection_type","s":"connection_type","c":{},"d":[109],"e":true}},"d":[],"e":false}},"d":[109,109,111,111,111,111,111],"e":true}},"d":[],"e":false}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,92,92,92,92,92],"e":true},"修":{"w":"修","s":"修","c":{},"d":[3,3,3,6,6,6,6,7,7,11,11,11,11,14,14,17,17,18,18,18,18,18,18,18,18,19,19,19,19,20,20,20,20,20,20],"e":true},"复":{"w":"复","s":"复","c":{},"d":[3,3,3,6,6,6,6,7,7,11,11,11,11,14,14,18,18,18,18,18,18,19,19,20,20,20,20,20,20,20,20,20,20,21,21,22,22,22,22,22,22,22,22,22,22,39,48,70,70,70,70,70,71,71,77,77,77,86,86,86,86,86,118,127,127,139,147,147,148,148],"e":true},"缺":{"w":"缺","s":"缺","c":{},"d":[3,3,3,49],"e":true},"陷":{"w":"陷","s":"陷","c":{},"d":[3,3,3,49],"e":true},"a":{"w":"a","s":"a","c":{"p":{"w":"ap","s":"p","c":{"i":{"w":"api","s":"i","c":{"s":{"w":"apis","s":"s","c":{},"d":[22,22,22,22,22,22,22,22,22,22,51],"e":true}},"d":[3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,6,6,6,6,8,8,9,9,11,11,11,11,15,15,15,15,16,16,16,16,17,17,18,18,18,18,20,20,20,20,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,28,29,139,139],"e":true},"s":{"w":"apsi","s":"si","c":{"_":{"w":"apsi_","s":"_","c":{"s":{"w":"apsi_sender","s":"sender","c":{"_":{"w":"apsi_sender_","s":"_","c":{"c":{"w":"apsi_sender_config","s":"config","c":{},"d":[97,97,97,97,97],"e":true},"s":{"w":"apsi_sender_setup","s":"setup","c":{},"d":[143,143,143],"e":true},"o":{"w":"apsi_sender_online","s":"online","c":{},"d":[143,143,143],"e":true}},"d":[],"e":false}},"d":[124],"e":true},"r":{"w":"apsi_receiver","s":"receiver","c":{"_":{"w":"apsi_receiver_config","s":"_config","c":{},"d":[97,97,97,97,97],"e":true}},"d":[143,143,143],"e":true}},"d":[],"e":false},"s":{"w":"apsisenderconfig","s":"senderconfig","c":{},"d":[97,97,97,97,97,97,97],"e":true},"r":{"w":"apsireceiverconfig","s":"receiverconfig","c":{},"d":[97,97,97,97,97,97,97],"e":true},"k":{"w":"apsikeyword","s":"keyword","c":{},"d":[136,136,136],"e":true}},"d":[5,5,6,6,8,8,8,8,11,11,48,48,48,48,48,53,53,53,53,53,53,53,53,53,53,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,115,115,115,115,116,117,118,118,118,123,127,127,127,127,127,127,136,136,139,139,139,139,139,139,139,139,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142],"e":true},"a":{"w":"apache","s":"ache","c":{},"d":[22,22,22,22,22],"e":true},"p":{"w":"app","s":"p","c":{"l":{"w":"applications","s":"lications","c":{},"d":[50,50,76,76,76,76,76],"e":true},"r":{"w":"appropriate","s":"ropriate","c":{},"d":[142],"e":true}},"d":[],"e":false},"r":{"w":"april","s":"ril","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"r":{"w":"ar","s":"r","c":{"r":{"w":"arrow","s":"row","c":{},"d":[5,5,14,14,22,22,22,22,22],"e":true},"m":{"w":"arm","s":"m","c":{},"d":[7,7],"e":true},"x":{"w":"arxiv","s":"xiv","c":{},"d":[50,50,50,92,92,92,92,92,92],"e":true},"c":{"w":"archive","s":"chive","c":{},"d":[50,50,50,50,50,50,50],"e":true},"a":{"w":"aranha","s":"anha","c":{},"d":[50,50],"e":true},"i":{"w":"arithmetic","s":"ithmetic","c":{},"d":[50,50],"e":true},"b":{"w":"arbitrary","s":"bitrary","c":{},"d":[114,114],"e":true},"g":{"w":"arguments","s":"guments","c":{},"d":[139,139],"e":true}},"d":[],"e":false},"l":{"w":"al","s":"l","c":{"i":{"w":"ali","s":"i","c":{"y":{"w":"aliyuncs","s":"yuncs","c":{},"d":[25,25,129,129,137,161],"e":true},"c":{"w":"alice","s":"ce","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,109,109,155],"e":true}},"d":[],"e":false},"p":{"w":"alpha","s":"pha","c":{"h":{"w":"alphah","s":"h","c":{},"d":[42,42,42,42,42,42,42,42,43,43,43,43],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43],"e":true},"l":{"w":"all","s":"l","c":{"o":{"w":"allocatedports","s":"ocatedports","c":{},"d":[95,95,95,95,95,100],"e":true}},"d":[51,55,55,55,55,55,56,56,56,56,56],"e":true}},"d":[],"e":false},"n":{"w":"an","s":"n","c":{"o":{"w":"anolis8","s":"olis8","c":{},"d":[25,25,129,129,137,161],"e":true},"d":{"w":"and","s":"d","c":{},"d":[50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,73,73,73,73,73,76,76,76,76,76],"e":true},"y":{"w":"any","s":"y","c":{},"d":[114,114],"e":true}},"d":[],"e":false},"b":{"w":"ab","s":"b","c":{"y":{"w":"aby_","s":"y_","c":{},"d":[45,45,45,45,45,45,45],"e":true},"i":{"w":"abi_","s":"i_","c":{},"d":[45,45,45,45,45,45,45,45,45,45,45,45,45,45],"e":true},"s":{"w":"absence","s":"sence","c":{},"d":[50,50,76,76,76,76,76],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45],"e":true},"v":{"w":"av","s":"v","c":{"x":{"w":"avx","s":"x","c":{},"d":[42,42,42,42,42],"e":true},"a":{"w":"available","s":"ailable","c":{},"d":[50,50,76,76,76,76,76],"e":true}},"d":[],"e":false},"y":{"w":"ay","s":"y","c":{},"d":[45,45,45],"e":true},"x":{"w":"axa","s":"xa","c":{},"d":[45,45,45,45,45,45,45,45,45,45,45,45],"e":true},"s":{"w":"as","s":"s","c":{"y":{"w":"asymmetric","s":"ymmetric","c":{},"d":[48,48],"e":true},"c":{"w":"ascii","s":"cii","c":{},"d":[59,59,80,80,93,93,114,114],"e":true}},"d":[51,142],"e":true},"c":{"w":"ac","s":"c","c":{"m":{"w":"acm","s":"m","c":{},"d":[50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50],"e":true},"c":{"w":"accumulate","s":"cumulate","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"d":{"w":"advanced","s":"dvanced","c":{"j":{"w":"advancedjointype","s":"jointype","c":{},"d":[61,61,61,61,61,70,70,70,70,70,70,73,73,73,73,73,73,147],"e":true},"_":{"w":"advanced_join_type","s":"_join_type","c":{"_":{"w":"advanced_join_type_","s":"_","c":{"l":{"w":"advanced_join_type_left_join","s":"left_join","c":{"2":{"w":"advanced_join_type_left_join2","s":"2","c":{},"d":[77,77,77],"e":true}},"d":[70,70,70,70,70,73,73,73,73,73,77,77],"e":true},"r":{"w":"advanced_join_type_right_join","s":"right_join","c":{"3":{"w":"advanced_join_type_right_join3","s":"3","c":{},"d":[77,77,77],"e":true}},"d":[70,70,70,70,70,73,73,73,73,73,77,77],"e":true},"u":{"w":"advanced_join_type_unspecified","s":"unspecified","c":{"0":{"w":"advanced_join_type_unspecified0","s":"0","c":{},"d":[77,77,77],"e":true}},"d":[77,77,147,147,147],"e":true},"i":{"w":"advanced_join_type_inner_join","s":"inner_join","c":{"1":{"w":"advanced_join_type_inner_join1","s":"1","c":{},"d":[77,77,77],"e":true}},"d":[77,77,147],"e":true},"f":{"w":"advanced_join_type_full_join","s":"full_join","c":{"4":{"w":"advanced_join_type_full_join4","s":"4","c":{},"d":[77,77,77],"e":true}},"d":[77,77],"e":true},"d":{"w":"advanced_join_type_difference","s":"difference","c":{"5":{"w":"advanced_join_type_difference5","s":"5","c":{},"d":[77,77,77],"e":true}},"d":[77,77],"e":true}},"d":[],"e":false}},"d":[70,70,70,70,70,70,70,70,70,70,70,73,73,73,73,73,73,73,73,73,73],"e":true}},"d":[],"e":false},"f":{"w":"af","s":"f","c":{"t":{"w":"after","s":"ter","c":{},"d":[70,70,70,70],"e":true},"f":{"w":"affect","s":"fect","c":{},"d":[109],"e":true}},"d":[],"e":false},"g":{"w":"aggressive_retry","s":"ggressive_retry","c":{},"d":[111,111,111,111,111],"e":true},"t":{"w":"at","s":"t","c":{},"d":[142,142],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50,50,50,76,76,76,76,76,76,76,76,76,76,78,78,78,78,78,92,92,92,92,92,142,142],"e":true},"变":{"w":"变","s":"变","c":{},"d":[3,3,3,45,59,59,59,59,59,59,59,59,59,59,59,59,80,80,80,80,80,80,80,80,80,80,80,80,93,93,93,93,93,93,93,93,93,93,93,93,114,114,114,114,114,114,114,114,114,114,114,114],"e":true},"更":{"w":"更","s":"更","c":{},"d":[3,3,3,6,6,12,12,22,22,22,22,22,42,42,45,48,48,48,48,48,59,59,59,59,59,59,59,59,80,80,80,80,80,80,80,80,93,93,93,93,93,93,93,93,93,93,93,93,114,114,114,114,114,114,114,114,114,114,127,127,133,136,136,136,136,136,144,146,147,147,147,159],"e":true},"i":{"w":"i","s":"i","c":{"m":{"w":"imp","s":"mp","c":{"r":{"w":"improve","s":"rove","c":{"m":{"w":"improvement","s":"ment","c":{},"d":[3,3,3,3,4,4,5,5,5,5,5,5,6,6,6,6,8,8,10,10,12,12,13,13,14,14,14,14,18,18,19,19],"e":true},"d":{"w":"improved","s":"d","c":{},"d":[50,50,50,50],"e":true}},"d":[],"e":false},"l":{"w":"implementation","s":"lementation","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"c":{"w":"ic","s":"c","c":{"_":{"w":"ic_mode","s":"_mode","c":{},"d":[4,4,15,15],"e":true}},"d":[6,6,11,11],"e":true},"n":{"w":"in","s":"n","c":{"t":{"w":"int","s":"t","c":{"3":{"w":"int32","s":"32","c":{"i":{"w":"int32intint","s":"intint","c":{},"d":[59,59,59,59,59,59,80,80,80,80,80,80,93,93,93,93,93,93,114,114,114,114,114,114],"e":true},"p":{"w":"int32pod","s":"pod","c":{},"d":[103,103,103],"e":true}},"d":[56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,59,59,80,80,80,80,93,93,101,101,101,101,101,101,101,101,101,101,101,101,101,101,103,103,103,103,112,112,112,112,112,112,112,114,114,114,114],"e":true},"6":{"w":"int64","s":"64","c":{"l":{"w":"int64longint","s":"longint","c":{},"d":[59,59,59,59,59,59,80,80,80,80,80,80,93,93,93,93,93,93,114,114,114,114,114,114],"e":true},"n":{"w":"int64none","s":"none","c":{"i":{"w":"int64noneintersection_key_count","s":"intersection_key_count","c":{},"d":[89,89],"e":true}},"d":[89,89,89,89],"e":true}},"d":[57,57,57,57,57,57,57,59,59,59,59,80,80,80,80,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,93,93,114,114,114,114],"e":true},"e":{"w":"inte","s":"e","c":{"l":{"w":"intel","s":"l","c":{},"d":[42,42,42,42,42,45,45,45,45,45,50,50,50,165,165,165,165,165,165,165,165,165,165,166],"e":true},"r":{"w":"inter","s":"r","c":{"a":{"w":"interactive","s":"active","c":{},"d":[50,50,50,50],"e":true},"s":{"w":"intersection","s":"section","c":{"_":{"w":"intersection_","s":"_","c":{"c":{"w":"intersection_count","s":"count","c":{},"d":[89,89,89,89,89],"e":true},"k":{"w":"intersection_key_count","s":"key_count","c":{},"d":[89,89,89],"e":true}},"d":[],"e":false}},"d":[50,50,50,50,50,50,50,50,50,50,76,76,76,76,76],"e":true},"f":{"w":"interface","s":"face","c":{},"d":[56,56],"e":true}},"d":[],"e":false}},"d":[],"e":false}},"d":[],"e":false},"f":{"w":"info","s":"fo","c":{},"d":[55,55,55,55,55,56,56,56,56,56,63,63,63],"e":true},"p":{"w":"input","s":"put","c":{"a":{"w":"inputattr","s":"attr","c":{},"d":[61,61,61,61,61,70,70,70,70,70,70,73,73,73,73,73,73],"e":true},"_":{"w":"input_","s":"_","c":{"c":{"w":"input_config","s":"config","c":{},"d":[70,70,70,70,70,73,73,73,73,73],"e":true},"a":{"w":"input_attr","s":"attr","c":{},"d":[70,70,70,70,70,73,73,73,73,73],"e":true},"p":{"w":"input_params","s":"params","c":{},"d":[84,84,84,84,84],"e":true}},"d":[],"e":false},"p":{"w":"inputparams","s":"params","c":{"p":{"w":"inputparamspsi","s":"psi","c":{},"d":[84,84,84],"e":true}},"d":[82,82,82,82,82,84,84,84],"e":true}},"d":[],"e":false},"n":{"w":"inner","s":"ner","c":{},"d":[70,70],"e":true},"c":{"w":"including","s":"cluding","c":{},"d":[75],"e":true},"v":{"w":"invalid_psi_type","s":"valid_psi_type","c":{"0":{"w":"invalid_psi_type0none","s":"0none","c":{"e":{"w":"invalid_psi_type0noneecdh_psi_2pc1","s":"ecdh_psi_2pc1","c":{},"d":[92,92],"e":true}},"d":[92],"e":true}},"d":[92,92],"e":true},"d":{"w":"ind","s":"d","c":{"e":{"w":"index","s":"ex","c":{},"d":[136,136,136,136,136],"e":true},"_":{"w":"ind_degree","s":"_degree","c":{},"d":[145,145,145,145,145,145,145,145,145],"e":true}},"d":[],"e":false}},"d":[31,31,31,31,31,31,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,76,76,76,76,76,78,78,78,78,78,147,147],"e":true},"s":{"w":"is","s":"s","c":{"s":{"w":"issues","s":"sues","c":{},"d":[39,39],"e":true},"o":{"w":"iso","s":"o","c":{},"d":[42,42,42,91,91,91,91,91],"e":true},"h":{"w":"ishai","s":"hai","c":{},"d":[50,50,50,50,50,50,50,50,50,50],"e":true}},"d":[148,148],"e":true},"p":{"w":"ipp","s":"pp","c":{},"d":[42,42,42,42,42,42,42,50,50,50,165,165,165,165,165,165,165],"e":true},"f":{"w":"ifma","s":"fma","c":{},"d":[42,42,42,42,42],"e":true},"e":{"w":"ie","s":"e","c":{"c":{"w":"iec","s":"c","c":{},"d":[42,42,42,42,42,91,91,91,91,91],"e":true},"e":{"w":"ieee","s":"ee","c":{},"d":[50,50,50,50,50,50,76,76,76,76,76],"e":true},"t":{"w":"ietf","s":"tf","c":{},"d":[50,50,50],"e":true}},"d":[],"e":false},"_":{"w":"i_","s":"_","c":{},"d":[45,45],"e":true},"r":{"w":"irtf","s":"rtf","c":{},"d":[47,47,50,50,50],"e":true},"t":{"w":"it","s":"t","c":{"e":{"w":"item","s":"em","c":{"p":{"w":"itemparams","s":"params","c":{},"d":[48,48,48,48,48,48,48],"e":true},"_":{"w":"item_bit_size","s":"_bit_size","c":{},"d":[48,48,48,48,48,48,48,48,48,48],"e":true}},"d":[],"e":false}},"d":[142],"e":true},"l":{"w":"ilia","s":"lia","c":{"s":{"w":"iliashenko","s":"shenko","c":{},"d":[50,50],"e":true}},"d":[50,50],"e":true},"a":{"w":"iacr","s":"acr","c":{},"d":[50,50,50,50,50,50,76,76,76,76,76,76,76,76,76,76,76,76,92,92,92,92,92,92,92,92,92,92,92,92],"e":true},"d":{"w":"id","s":"d","c":{"0":{"w":"id0","s":"0","c":{},"d":[130,130,130,130,130,130,130,130,130,130],"e":true},"1":{"w":"id1","s":"1","c":{},"d":[130,130,130,130,130,130,130,130,130,130],"e":true},"x":{"w":"idx","s":"x","c":{},"d":[145],"e":true}},"d":[50,50,50,109,109,109,109,110,110,110,110,147,147],"e":true},"o":{"w":"io","s":"o","c":{"c":{"w":"ioconfig","s":"config","c":{},"d":[61,61,61,61,61,70,70,70,70,70,70,70,70,70,70,70,70,73,73,73,73,73,73,73,73,73,73,73,73],"e":true},"t":{"w":"iotype","s":"type","c":{},"d":[61,61,61,61,61,66,66,66,66,66,66,147,147],"e":true},"_":{"w":"io_type_","s":"_type_","c":{"u":{"w":"io_type_unspecified","s":"unspecified","c":{"0":{"w":"io_type_unspecified0","s":"0","c":{},"d":[75,75,75],"e":true}},"d":[75,75,147,147,147],"e":true},"f":{"w":"io_type_file_csv","s":"file_csv","c":{"1":{"w":"io_type_file_csv1","s":"1","c":{},"d":[75,75,75],"e":true}},"d":[75,75,147],"e":true}},"d":[],"e":false}},"d":[75],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"改":{"w":"改","s":"改","c":{},"d":[3,3,3,17,17,18,18,19,19,20,20,48,49,56,56,56,56,56,59,59,59,59,80,80,80,80,114,114,114,114,147,147],"e":true},"进":{"w":"进","s":"进","c":{},"d":[3,3,3,4,4,22,22,22,22,22,22,22,36,38,39,42,42,42,42,42,42,42,42,42,43,43,43,45,45,45,45,45,45,47,47,47,47,47,47,47,47,48,48,49,49,49,56,56,56,56,56,84,84,84,84,84,88,88,88,88,88,91,91,91,91,91,109,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,127,127,127,132,139,139,145,145,145,148,163,163,166],"e":true},"删":{"w":"删","s":"删","c":{},"d":[3,3,4,4],"e":true},"除":{"w":"除","s":"除","c":{},"d":[3,3,4,4,6,6,8,8,9,9,43,78,78,78,78,78,147,147],"e":true},"配":{"w":"配","s":"配","c":{},"d":[3,3,6,6,11,11,14,14,29,29,29,29,29,29,29,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,53,53,53,53,53,53,53,53,53,53,55,55,55,55,55,55,55,55,55,55,56,64,66,67,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,71,73,73,73,73,73,84,87,94,94,97,97,97,97,97,97,97,97,97,97,100,100,100,100,100,100,103,103,103,103,103,103,109,109,109,109,109,115,117,119,123,130,130,130,130,130,130,130,130,130,130,130,130,133,134,134,134,139,139,139,142,142,142,142,144,147,147,147,148,150,152,155,155,160,160,160,160,160,160],"e":true},"置":{"w":"置","s":"置","c":{},"d":[3,3,6,6,11,11,14,14,29,29,29,29,29,29,29,45,45,48,48,48,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,53,53,53,53,53,53,53,53,53,53,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,64,66,67,67,67,67,67,67,67,67,67,67,67,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,71,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,84,87,94,94,97,97,97,97,97,97,97,97,97,97,109,109,109,109,109,109,112,112,112,112,112,112,112,112,112,112,115,117,119,123,127,127,127,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,133,134,134,134,139,139,139,140,142,142,142,142,143,144,145,145,147,147,147,148,148,148,148,148,148,148,150,152,155,155,160,160,160,160,160,160],"e":true},"里":{"w":"里","s":"里","c":{},"d":[3,3,25,118,127,127,129,130,134,137,139,144,144,145,157,161,166],"e":true},"旧":{"w":"旧","s":"旧","c":{},"d":[4,4],"e":true},"版":{"w":"版","s":"版","c":{},"d":[4,4,6,6,10,10,13,13,22,22,37,137,141,141,143,149,161],"e":true},"u":{"w":"u","s":"u","c":{"b":{"w":"ub","s":"b","c":{"p":{"w":"ubpsiconfig","s":"psiconfig","c":{},"d":[61,61,61,61,61,61,61,61,61,61,73,73,73,73,73,73,94,97,97,97,97,97,97,97],"e":true},"_":{"w":"ub_psi_config","s":"_psi_config","c":{},"d":[97,97,97,97,97],"e":true}},"d":[4,4,4,4,18,18],"e":true},"u":{"w":"uuid","s":"uid","c":{"p":{"w":"uuidpartiesrepeated","s":"partiesrepeated","c":{},"d":[109,109],"e":true}},"d":[14,14,109,109,109],"e":true},"s":{"w":"us","s":"s","c":{"e":{"w":"use","s":"e","c":{},"d":[50,50,76,76,76,76,76],"e":true},"i":{"w":"using","s":"ing","c":{},"d":[50,50],"e":true},"a":{"w":"usa","s":"a","c":{},"d":[76,76,76,76,76],"e":true}},"d":[],"e":false},"n":{"w":"un","s":"n","c":{"b":{"w":"unbalanced","s":"balanced","c":{},"d":[50,50,73,78,78,78,78,78],"e":true},"i":{"w":"unicode","s":"icode","c":{},"d":[59,59,80,80,93,93,114,114],"e":true}},"d":[],"e":false},"i":{"w":"uint","s":"int","c":{"3":{"w":"uint32","s":"32","c":{"i":{"w":"uint32intint","s":"intint","c":{},"d":[59,59,59,59,80,80,80,80,93,93,93,93,114,114,114,114],"e":true}},"d":[55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,59,59,80,80,80,80,84,84,84,84,84,84,84,84,84,84,84,84,84,84,87,87,87,87,87,87,87,93,93,93,93,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,114,114,114,114,114,114],"e":true},"6":{"w":"uint64","s":"64","c":{"l":{"w":"uint64longint","s":"longint","c":{},"d":[59,59,59,59,80,80,80,80,93,93,93,93,114,114,114,114],"e":true}},"d":[59,59,59,59,64,64,64,64,64,64,64,67,67,67,67,67,67,67,72,72,72,72,72,72,72,80,80,80,80,93,93,93,93,109,109,109,109,109,109,109,114,114,114,114],"e":true}},"d":[],"e":false},"t":{"w":"utf","s":"tf","c":{},"d":[59,59,80,80,93,93,114,114],"e":true}},"d":[],"e":false},"函":{"w":"函","s":"函","c":{},"d":[4,4,42,42,42,42,44,44,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,92,92,92,92,92],"e":true},"数":{"w":"数","s":"数","c":{},"d":[4,4,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,44,44,44,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,59,59,59,59,59,59,59,59,59,59,63,63,63,63,63,64,64,64,64,64,65,65,65,65,65,66,66,66,66,66,67,67,67,67,67,67,67,67,67,67,68,68,68,68,68,69,69,69,69,69,70,70,70,70,70,71,71,71,71,71,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,78,78,78,78,78,80,80,80,80,80,80,80,80,80,80,80,80,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,85,86,86,86,86,86,86,87,87,87,87,87,88,89,89,89,89,89,89,89,89,89,89,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,93,93,93,93,93,93,93,93,103,103,103,103,103,109,109,109,109,109,111,111,111,111,111,114,114,114,114,114,114,114,114,114,114,114,114,114,114,118,118,118,118,118,118,118,119,119,120,122,127,127,127,127,127,127,127,127,127,127,127,127,136,136,136,136,136,139,139,141,141,142,142,142,142,142,143,145,145,145,145,145,145,145,151,151,152,159,159,159,159,159,164],"e":true},"可":{"w":"可","s":"可","c":{},"d":[4,4,22,22,22,22,22,22,22,36,42,45,47,48,48,48,48,48,48,48,48,48,48,48,48,49,55,55,55,55,55,56,56,56,56,56,59,59,59,59,59,59,67,67,67,67,67,67,67,67,67,67,71,71,72,72,72,72,72,72,72,72,72,72,77,77,80,80,80,80,80,80,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,87,87,87,87,87,87,87,87,87,87,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,109,114,114,114,114,114,114,114,114,117,127,127,130,132,133,139,139,139,141,141,142,143,144,145,145,145,145,147,147,147,150,159,163,166,167],"e":true},"以":{"w":"以","s":"以","c":{},"d":[4,4,22,22,22,22,22,22,22,22,22,22,22,22,36,41,45,47,47,47,47,49,49,59,59,63,67,67,67,67,67,71,71,71,72,72,72,72,72,77,77,80,80,92,92,92,92,92,92,92,92,92,92,93,93,93,93,109,109,112,112,112,112,112,127,127,127,130,130,131,131,132,133,139,139,139,139,142,144,145,145,145,145,147,147,163,166],"e":true},"指":{"w":"指","s":"指","c":{},"d":[4,4,28,28,42,42,42,42,42,42,42,42,42,47,47,47,47,47,47,47,47,56,56,56,56,56,64,64,64,64,64,65,65,65,65,65,65,65,65,65,65,67,67,67,67,67,67,67,67,67,67,68,68,68,68,68,69,69,69,69,69,72,72,72,72,72,72,72,72,72,72,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,87,87,87,87,87,87,87,87,87,87,91,119,143,143,152],"e":true},"定":{"w":"定","s":"定","c":{},"d":[4,4,18,18,22,22,22,22,22,42,42,45,47,48,48,48,48,48,49,49,56,56,56,56,56,64,64,64,64,64,65,65,65,65,65,65,65,65,65,65,67,67,67,67,67,67,67,67,67,67,68,68,68,68,68,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,87,87,87,87,87,87,87,87,87,87,91,91,91,91,91,91,109,109,114,114,119,127,127,127,143,143,145,152,159],"e":true},"输":{"w":"输","s":"输","c":{},"d":[4,4,43,45,45,45,47,48,48,48,48,49,49,49,49,49,49,55,55,55,55,55,56,56,56,56,56,65,65,65,65,65,66,66,67,67,67,67,67,67,67,67,67,67,68,68,68,68,68,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,84,84,84,84,84,84,84,84,84,84,85,86,86,86,86,86,86,86,86,86,86,86,88,88,88,88,88,88,88,88,88,88,88,89,89,89,89,89,92,92,92,92,92,109,119,130,130,130,130,130,130,130,130,130,130,140,140,143,147,152],"e":true},"出":{"w":"出","s":"出","c":{},"d":[4,4,42,42,42,42,42,44,45,47,47,47,48,48,48,48,49,49,49,49,55,55,55,55,55,56,56,56,56,56,66,68,68,68,68,68,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,73,73,73,73,73,73,73,73,73,73,84,84,84,84,84,88,88,88,88,88,88,88,88,88,88,88,109,109,130,130,130,130,130],"e":true},"c":{"w":"c","s":"c","c":{"s":{"w":"csv","s":"sv","c":{"_":{"w":"csv_null_rep","s":"_null_rep","c":{},"d":[68,68,68,68,68],"e":true}},"d":[4,4,5,5,14,14,22,22,22,22,22,22,22,22,22,22,22,22,22,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,68,68,75,75,75,75,75,86,86,86,86,86,88,88,88,88,88,130,130,130,130,130,130,130,130,130,130,140,140,141,141,141,142,143,143],"e":true},"h":{"w":"ch","s":"h","c":{"e":{"w":"che","s":"e","c":{"c":{"w":"check","s":"ck","c":{"_":{"w":"check_","s":"_","c":{"d":{"w":"check_duplicates","s":"duplicates","c":{},"d":[20,20],"e":true},"h":{"w":"check_hash_digest","s":"hash_digest","c":{},"d":[70,70,70,70,70],"e":true}},"d":[],"e":false},"p":{"w":"checkpoints","s":"points","c":{},"d":[148,148],"e":true}},"d":[],"e":false},"n":{"w":"chen","s":"n","c":{},"d":[50,50,50,50],"e":true}},"d":[],"e":false},"a":{"w":"cha","s":"a","c":{"r":{"w":"charlie","s":"rlie","c":{},"d":[43,43,43,43,43,43,43,43,43,43,43],"e":true},"l":{"w":"challis","s":"llis","c":{},"d":[48,48,48,48,48],"e":true}},"d":[],"e":false},"l":{"w":"chlr18","s":"lr18","c":{},"d":[48,48],"e":true},"o":{"w":"choose","s":"oose","c":{},"d":[109,142],"e":true},"u":{"w":"chunk_parallel_send_size","s":"unk_parallel_send_size","c":{},"d":[109,109],"e":true}},"d":[],"e":false},"d":{"w":"cd","s":"d","c":{"h":{"w":"cdh","s":"h","c":{},"d":[22,22],"e":true},"o":{"w":"cdot","s":"ot","c":{},"d":[49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49],"e":true}},"d":[],"e":false},"n":{"w":"cn","s":"n","c":{},"d":[25,25,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,31,31,31,31,31,31,31,31,31,31,31,31,129,129,137,161],"e":true},"r":{"w":"cr","s":"r","c":{"y":{"w":"crypto","s":"ypto","c":{"2":{"w":"crypto202","s":"202","c":{"1":{"w":"crypto2021","s":"1","c":{},"d":[50,50],"e":true},"2":{"w":"crypto2022","s":"2","c":{},"d":[50,50],"e":true},"3":{"w":"crypto2023","s":"3","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"g":{"w":"cryptograph","s":"graph","c":{"y":{"w":"cryptography","s":"y","c":{},"d":[50,50,50,50],"e":true},"i":{"w":"cryptographic","s":"ic","c":{},"d":[50,50,76,76,76,76,76],"e":true}},"d":[],"e":false},"l":{"w":"cryptology","s":"logy","c":{},"d":[50,50,50,50],"e":true}},"d":[42,42,42,42,42,42,42,50,50,50,165,165,165,165,165,165,165],"e":true},"r":{"w":"crr21","s":"r21","c":{},"d":[49,49],"e":true},"i":{"w":"cri","s":"i","c":{"s":{"w":"cristofaro","s":"stofaro","c":{},"d":[50,50],"e":true},"t":{"w":"critical","s":"tical","c":{},"d":[63,63],"e":true}},"d":[],"e":false},"u":{"w":"cruz","s":"uz","c":{},"d":[50,50],"e":true}},"d":[25,25,129,129,137,161],"e":true},"o":{"w":"co","s":"o","c":{"m":{"w":"com","s":"m","c":{"p":{"w":"comp","s":"p","c":{"o":{"w":"component","s":"onent","c":{},"d":[29,29,29,29],"e":true},"_":{"w":"comp_list","s":"_list","c":{},"d":[29,29,29,29],"e":true},"r":{"w":"compress","s":"ress","c":{"i":{"w":"compressing","s":"ing","c":{},"d":[50,50],"e":true}},"d":[56,56,56,56,56],"e":true},"u":{"w":"comput","s":"ut","c":{"a":{"w":"computation","s":"ation","c":{},"d":[50,50,50,50,50,50,50,50],"e":true},"e":{"w":"computer","s":"er","c":{},"d":[50,50,50,50],"e":true}},"d":[],"e":false}},"d":[],"e":false},"m":{"w":"comm","s":"m","c":{"u":{"w":"communi","s":"uni","c":{"c":{"w":"communication","s":"cation","c":{"s":{"w":"communications","s":"s","c":{},"d":[50,50,50,50],"e":true}},"d":[50,50,50,50],"e":true},"t":{"w":"communities","s":"ties","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"e":{"w":"commerce","s":"erce","c":{},"d":[50,50],"e":true},"a":{"w":"command","s":"and","c":{},"d":[56,56],"e":true}},"d":[],"e":false}},"d":[25,25,42,42,42,42,42,42,50,50,50,50,50,50,56,56,129,129,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,137,142,142,142,147,147,161],"e":true},"e":{"w":"coeff_modulus_bits","s":"eff_modulus_bits","c":{},"d":[48,48,48,48,48],"e":true},"u":{"w":"cou","s":"u","c":{"t":{"w":"couteau","s":"teau","c":{},"d":[50,50,50,50,50,50,50,50,50,50,50,50],"e":true},"n":{"w":"countering","s":"ntering","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"r":{"w":"correlat","s":"rrelat","c":{"e":{"w":"correlated","s":"ed","c":{},"d":[50,50],"e":true},"i":{"w":"correlation","s":"ion","c":{},"d":[50,50,50,50],"e":true}},"d":[],"e":false},"d":{"w":"code","s":"de","c":{"s":{"w":"codes","s":"s","c":{},"d":[50,50,50,50,50,50],"e":true}},"d":[165,165],"e":true},"n":{"w":"con","s":"n","c":{"f":{"w":"conf","s":"f","c":{"e":{"w":"conference","s":"erence","c":{},"d":[50,50,50,50,50,50],"e":true},"i":{"w":"config","s":"ig","c":{"s":{"w":"configs","s":"s","c":{},"d":[72],"e":true}},"d":[73,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,133,133,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,142,142,148,148,148],"e":true}},"d":[],"e":false},"g":{"w":"cong","s":"g","c":{},"d":[50,50],"e":true},"t":{"w":"cont","s":"t","c":{"i":{"w":"continuously","s":"inuously","c":{},"d":[50,50,76,76,76,76,76],"e":true},"e":{"w":"contextdescproto","s":"extdescproto","c":{},"d":[95,95,95,95,95,97,97,97,97,97,97,97,147,147,148],"e":true},"a":{"w":"contain","s":"ain","c":{},"d":[114,114],"e":true}},"d":[],"e":false},"v":{"w":"convolute","s":"volute","c":{},"d":[50,50],"e":true},"s":{"w":"constructions","s":"structions","c":{},"d":[50,50],"e":true},"n":{"w":"connect_retry_","s":"nect_retry_","c":{"t":{"w":"connect_retry_times","s":"times","c":{},"d":[109,109,109,109,109],"e":true},"i":{"w":"connect_retry_interval_ms","s":"interval_ms","c":{},"d":[109,109,109,109,109],"e":true}},"d":[],"e":false}},"d":[],"e":false},"s":{"w":"costello","s":"stello","c":{},"d":[50,50],"e":true},"v":{"w":"covers","s":"vers","c":{},"d":[51],"e":true},"p":{"w":"copy","s":"py","c":{},"d":[142],"e":true}},"d":[],"e":false},"m":{"w":"cm","s":"m","c":{"a":{"w":"cmake","s":"ake","c":{},"d":[37,37],"e":true},"g":{"w":"cmgd","s":"gd","c":{},"d":[48,48,48,48],"e":true}},"d":[],"e":false},"u":{"w":"curve","s":"urve","c":{"2":{"w":"curve25519","s":"25519","c":{},"d":[42,42,42,42,42,42,50,50,91,91,91,91,91,91,91,91,91,91,159,159,159,165,165,165,165,165,165],"e":true},"t":{"w":"curvetype","s":"type","c":{},"d":[64,64,64,64,64,64,64,82,82,82,82,82,84,84,84,84,84,84,87,87,87,87,87,87],"e":true},"_":{"w":"curve_","s":"_","c":{"2":{"w":"curve_25519","s":"25519","c":{"1":{"w":"curve_255191daniel","s":"1daniel","c":{},"d":[91],"e":true},"_":{"w":"curve_25519_elligator2","s":"_elligator2","c":{"5":{"w":"curve_25519_elligator25","s":"5","c":{},"d":[91],"e":true}},"d":[91,91],"e":true}},"d":[91,91],"e":true},"t":{"w":"curve_type","s":"type","c":{},"d":[84,84,84,84,84,87,87,87,87,87],"e":true},"i":{"w":"curve_invalid_type","s":"invalid_type","c":{"0":{"w":"curve_invalid_type0none","s":"0none","c":{"c":{"w":"curve_invalid_type0nonecurve_255191daniel","s":"curve_255191daniel","c":{},"d":[91,91],"e":true}},"d":[91],"e":true}},"d":[91,91],"e":true},"f":{"w":"curve_fourq","s":"fourq","c":{"2":{"w":"curve_fourq2fourq","s":"2fourq","c":{},"d":[91,91,91],"e":true}},"d":[91,91],"e":true},"s":{"w":"curve_s","s":"s","c":{"m":{"w":"curve_sm2","s":"m2","c":{"3":{"w":"curve_sm23sm2","s":"3sm2","c":{},"d":[91,91,91],"e":true}},"d":[91,91],"e":true},"e":{"w":"curve_secp256k1","s":"ecp256k1","c":{"4":{"w":"curve_secp256k14","s":"4","c":{},"d":[91,91,91],"e":true}},"d":[91,91],"e":true}},"d":[],"e":false}},"d":[],"e":false}},"d":[50,50,64,64,64,64,64],"e":true},"p":{"w":"cpu","s":"pu","c":{},"d":[42,42,42,42,42,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,166],"e":true},"a":{"w":"ca","s":"a","c":{"p":{"w":"cap","s":"p","c":{},"d":[43,43,43,43,43,43,43,43,45,45,45,45,45,45,45,45,49,49,49,49,49,49,49,49],"e":true},"c":{"w":"cache","s":"che","c":{"_":{"w":"cache_path","s":"_path","c":{},"d":[73,73,73,73,73],"e":true}},"d":[79,79,79,79,79,79,79,79,79,79],"e":true},"_":{"w":"ca_file_path","s":"_file_path","c":{},"d":[112,112,112,112,112,148,148,148],"e":true},"n":{"w":"can","s":"n","c":{},"d":[142],"e":true}},"d":[76,76,76,76,76,112,112,112,112,112,112,112,112,112,112,148,148],"e":true},"f":{"w":"cfrg","s":"frg","c":{},"d":[47,47,50,50,50],"e":true},"l":{"w":"cl","s":"l","c":{"r":{"w":"clr17","s":"r17","c":{},"d":[48,48],"e":true},"i":{"w":"cli","s":"i","c":{"e":{"w":"client","s":"ent","c":{"_":{"w":"client_","s":"_","c":{"g":{"w":"client_get_result","s":"get_result","c":{},"d":[73,73,73,73,73,73,73,73,73,73],"e":true},"s":{"w":"client_ssl_opts","s":"ssl_opts","c":{},"d":[109,148,148,148],"e":true}},"d":[],"e":false},"s":{"w":"clients","s":"s","c":{},"d":[78,78,78,78,78],"e":true}},"d":[73,73,73,73,73,73,73,73,73,73,79,79,79,79,79,145,145],"e":true}},"d":[56,56,56,56,56,56,56,56,139,139,139],"e":true},"u":{"w":"cluster","s":"uster","c":{"d":{"w":"clusterdefine","s":"define","c":{},"d":[95,95,95,95,95,101],"e":true}},"d":[103,103,103,103,103],"e":true}},"d":[],"e":false},"c":{"w":"ccs","s":"cs","c":{},"d":[50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50],"e":true},"i":{"w":"ci","s":"i","c":{"t":{"w":"cited","s":"ted","c":{},"d":[50,50],"e":true},"r":{"w":"circuit","s":"rcuit","c":{"s":{"w":"circuits","s":"s","c":{},"d":[50,50],"e":true}},"d":[50,50],"e":true}},"d":[],"e":false},"e":{"w":"certificate_path","s":"ertificate_path","c":{},"d":[112,112,112,112,148,148,148],"e":true}},"d":[22,22,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,59,59,59,59,59,76,76,76,76,76,80,80,80,80,80,92,92,92,92,92,93,93,93,93,93,114,114],"e":true},"空":{"w":"空","s":"空","c":{},"d":[4,4,68,68,68,68,68,111,111,111,111,111,111,111,111,111,111,112,112,112,112,112],"e":true},"值":{"w":"值","s":"值","c":{},"d":[4,4,44,44,45,45,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,53,53,53,55,55,55,55,55,56,56,56,56,56,59,59,59,59,59,59,59,59,59,59,59,59,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,68,68,68,68,68,68,68,68,68,68,70,70,70,70,70,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,80,80,80,80,80,80,80,80,80,80,80,80,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,114,114,114,114,114,114,114,114,114,114,114,114,114,114,141,141,147,147,147,147,147,147,147,147,147,147],"e":true},"支":{"w":"支","s":"支","c":{},"d":[4,4,4,4,20,20,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,42,49,56,56,56,56,56,63,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,127,147,148,159],"e":true},"持":{"w":"持","s":"持","c":{},"d":[4,4,4,4,20,20,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,42,49,56,56,56,56,56,63,77,77,78,78,78,78,78,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,127,139,143,147,148,159],"e":true},"单":{"w":"单","s":"单","c":{},"d":[4,4,109,109,109,109,109,109,109,109,135,136,136,136,136,136,136,136,136,136,136,139,157,157,166,167],"e":true},"接":{"w":"接","s":"接","c":{},"d":[4,4,4,4,4,4,6,6,6,6,11,11,12,12,20,20,20,20,20,20,21,21,22,22,22,22,22,22,22,42,42,42,42,43,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,53,53,53,53,53,55,55,55,55,55,78,78,78,78,78,84,84,84,84,84,84,84,84,84,84,87,87,87,87,87,87,87,87,87,87,92,92,92,92,92,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,118,118,123,130,130,130,130,130,130,130,130,130,130,143,147,147,147,147,147,147,149,155,158],"e":true},"收":{"w":"收","s":"收","c":{},"d":[4,4,42,42,42,42,43,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,53,53,53,53,53,55,55,55,55,55,78,78,78,78,78,84,84,84,84,84,84,84,84,84,84,87,87,87,87,87,87,87,87,87,87,91,91,91,91,91,92,92,92,92,92,109,109,109,109,109,109,109,109,109,109,123,130,130,130,130,130,130,130,130,130,130,143,146,147,147,147,147,147,147,147,155],"e":true},"方":{"w":"方","s":"方","c":{},"d":[4,4,22,22,22,25,41,41,41,41,41,41,41,41,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,53,53,53,53,53,53,53,53,53,53,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,70,70,70,70,70,77,77,77,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,84,84,84,84,84,84,84,84,84,84,87,87,87,87,87,87,87,87,87,87,89,89,89,89,89,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,101,101,101,101,101,101,101,101,101,101,101,102,102,102,102,102,102,102,102,102,102,102,109,109,109,109,109,109,109,109,112,112,112,112,112,123,123,127,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,137,139,139,147,147,147,147,147,147,147,147,147,147,148,148,148,148,155,155,157,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,161,166,167],"e":true},"连":{"w":"连","s":"连","c":{},"d":[4,4,4,4,20,20,20,20,20,20,21,21,109,109,109,109,109,109,109,109,109,109,109,147],"e":true},"操":{"w":"操","s":"操","c":{},"d":[4,4,4,4,22,22,22,22,22,32,32,109,143],"e":true},"作":{"w":"作","s":"作","c":{},"d":[4,4,4,4,22,22,22,22,22,32,32,43,43,47,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,91,91,91,91,91,103,103,103,103,103,109,109,139,139,139,140,143,145,147,167],"e":true},"使":{"w":"使","s":"使","c":{},"d":[4,4,5,5,14,14,22,22,22,22,22,22,22,22,22,22,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,36,37,38,42,42,42,42,42,42,42,43,44,44,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,59,59,59,59,59,59,59,59,59,59,59,59,77,77,77,77,80,80,80,80,80,80,80,80,80,80,80,80,84,84,84,84,84,84,84,84,84,84,85,85,85,85,85,87,87,87,87,87,91,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,97,97,97,97,97,112,112,112,112,112,114,114,114,114,114,114,114,114,114,114,114,114,115,117,118,119,120,122,123,132,139,139,142,142,143,148,148,148,148,148,149,150,152,155,159,163,165,165,165,165,165],"e":true},"用":{"w":"用","s":"用","c":{},"d":[4,4,5,5,14,14,17,17,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,36,37,38,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,44,44,44,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,67,67,67,67,67,70,70,70,70,70,71,72,72,72,72,72,73,73,73,73,73,77,77,77,77,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,85,85,85,85,85,87,87,87,87,87,91,92,92,92,92,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,97,97,97,97,97,103,103,103,103,103,111,111,111,111,111,112,112,112,112,112,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,115,117,118,119,120,122,123,132,139,139,139,139,142,143,143,143,146,148,148,148,148,148,149,150,152,155,159,163,165,165,165,165,165,166,167],"e":true},"协":{"w":"协","s":"协","c":{},"d":[4,4,6,6,9,9,21,21,21,21,22,22,22,22,22,40,40,40,40,41,41,41,41,41,41,41,41,41,41,41,41,41,42,42,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,64,67,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,71,71,71,76,77,77,78,78,78,78,78,103,103,103,103,103,109,116,117,118,136,136,136,136,136,147,147,150,151,152,159,159,159,159,159,159,159,159,159,159,159,167,167,167],"e":true},"议":{"w":"议","s":"议","c":{},"d":[4,4,6,6,9,9,21,21,21,21,22,22,22,22,22,40,40,40,40,41,41,41,41,41,41,41,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,64,67,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,71,71,71,76,77,77,78,78,78,78,78,103,103,103,103,103,109,116,117,118,136,136,136,136,136,147,147,150,151,152,159,159,159,159,159,159,159,159,159,159,159,167,167,167,167],"e":true},"行":{"w":"行","s":"行","c":{},"d":[4,4,22,22,36,38,42,42,42,42,42,42,42,42,42,43,43,43,44,44,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,55,55,55,55,55,56,56,56,56,56,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,88,88,88,88,88,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,109,109,109,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,117,117,124,125,127,129,131,131,139,139,141,141,145,145,145,145,145,145,147,147,150,150,162,162,166,166],"e":true},"r":{"w":"r","s":"r","c":{"r":{"w":"rr","s":"r","c":{"2":{"w":"rr22","s":"22","c":{"c":{"w":"rr22c","s":"c","c":{"d":{"w":"rr22cdh","s":"dh","c":{},"d":[22,22,22],"e":true},"o":{"w":"rr22config","s":"onfig","c":{"r":{"w":"rr22configrr22","s":"rr22","c":{},"d":[69,69,69],"e":true}},"d":[61,61,61,61,61,69,69,69],"e":true}},"d":[],"e":false},"_":{"w":"rr22_","s":"_","c":{"c":{"w":"rr22_config","s":"config","c":{},"d":[69,69,69,69,69],"e":true},"f":{"w":"rr22_fast_psi_2pc","s":"fast_psi_2pc","c":{"1":{"w":"rr22_fast_psi_2pc13","s":"13","c":{},"d":[92,92,92],"e":true}},"d":[92,92],"e":true},"l":{"w":"rr22_lowcomm_psi_2pc","s":"lowcomm_psi_2pc","c":{"1":{"w":"rr22_lowcomm_psi_2pc14none","s":"14none","c":{},"d":[92],"e":true}},"d":[92,92],"e":true},"m":{"w":"rr22_malicious_psi_2pc","s":"malicious_psi_2pc","c":{"1":{"w":"rr22_malicious_psi_2pc15none","s":"15none","c":{},"d":[92],"e":true}},"d":[92,92],"e":true}},"d":[],"e":false}},"d":[4,4,6,6,11,11,18,18,19,19,21,21,21,21,22,22,22,22,22,22,22,41,41,41,49,49,69,69,72],"e":true},"_":{"w":"rr_i","s":"_i","c":{},"d":[48,48,48,48,48,48,48,48,48],"e":true},"i":{"w":"rri","s":"i","c":{},"d":[48,48,48,48,48,48],"e":true},"r":{"w":"rrr","s":"r","c":{},"d":[48,48,48,48,48,48,48,48],"e":true}},"d":[48,48,48],"e":true},"u":{"w":"run","s":"un","c":{"l":{"w":"runlegacypsi","s":"legacypsi","c":{},"d":[15,15],"e":true},"t":{"w":"runtime_config","s":"time_config","c":{},"d":[97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,160,160],"e":true}},"d":[70],"e":true},"f":{"w":"rfc9380","s":"fc9380","c":{},"d":[18,18,91,91,91,91,91],"e":true},"e":{"w":"re","s":"e","c":{"g":{"w":"registry","s":"gistry","c":{},"d":[25,25,129,129,137,161],"e":true},"f":{"w":"refer","s":"fer","c":{"e":{"w":"reference","s":"ence","c":{},"d":[28,28,29,29,29,29,29,29,29,29,31,31,31,31,31,31,31,31,31,31,31,31],"e":true}},"d":[142],"e":true},"c":{"w":"rec","s":"c","c":{"o":{"w":"reco","s":"o","c":{"r":{"w":"records","s":"rds","c":{},"d":[50,50],"e":true},"v":{"w":"recovery","s":"very","c":{"c":{"w":"recoveryconfig","s":"config","c":{},"d":[61,61,61,61,61,70,70,70,70,70,70,148],"e":true},"_":{"w":"recovery_config","s":"_config","c":{},"d":[70,70,70,70,70],"e":true}},"d":[148,148],"e":true}},"d":[],"e":false},"e":{"w":"receiver","s":"eiver","c":{"_":{"w":"receiver_","s":"_","c":{"r":{"w":"receiver_rank","s":"rank","c":{},"d":[84,84,84,84,84,87,87,87,87,87],"e":true},"i":{"w":"receiver_input","s":"input","c":{},"d":[130,130,130,130,130,130,130,130,130,130],"e":true}},"d":[],"e":false},"s":{"w":"receivers","s":"s","c":{},"d":[142,142,142,145],"e":true}},"d":[70,70,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,142,143,143,145,147,147,147,147,147,147,147,147,147,147,147],"e":true},"v":{"w":"recv_timeout_ms","s":"v_timeout_ms","c":{},"d":[109,109,109,109,109,109,109],"e":true},"i":{"w":"recivers","s":"ivers","c":{},"d":[143],"e":true}},"d":[],"e":false},"s":{"w":"res","s":"s","c":{"c":{"w":"resch","s":"ch","c":{},"d":[50,50],"e":true},"e":{"w":"rese","s":"e","c":{"n":{"w":"resende","s":"nde","c":{},"d":[50,50],"e":true},"a":{"w":"research","s":"arch","c":{},"d":[50,50],"e":true}},"d":[],"e":false}},"d":[],"e":false},"d":{"w":"red","s":"d","c":{"u":{"w":"reduced","s":"uced","c":{},"d":[50,50],"e":true},"m":{"w":"redmond","s":"mond","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"p":{"w":"rep","s":"p","c":{"o":{"w":"report","s":"ort","c":{},"d":[50,50,50,50],"e":true},"e":{"w":"repeated","s":"eated","c":{},"d":[70,70,70,70,73,73,73,73,86,86,86,86,100,100,100,101,101,101,102,102,102,104,104,104,104,109,109,109,111,111,111,111,111,111,111,111],"e":true}},"d":[],"e":false},"l":{"w":"release","s":"lease","c":{},"d":[50,50],"e":true},"i":{"w":"reichert","s":"ichert","c":{},"d":[50,50],"e":true},"a":{"w":"readme","s":"adme","c":{},"d":[56,56,133,133,139,139],"e":true},"t":{"w":"retry","s":"try","c":{"o":{"w":"retryoptionsproto","s":"optionsproto","c":{},"d":[95,95,95,95,95,109,109,147,147],"e":true},"_":{"w":"retry_","s":"_","c":{"o":{"w":"retry_opts","s":"opts","c":{},"d":[109],"e":true},"i":{"w":"retry_interval_","s":"interval_","c":{"i":{"w":"retry_interval_incr_ms","s":"incr_ms","c":{},"d":[111,111,111,111,111],"e":true},"m":{"w":"retry_interval_ms","s":"ms","c":{},"d":[111,111,111],"e":true}},"d":[],"e":false}},"d":[],"e":false}},"d":[],"e":false}},"d":[],"e":false},"s":{"w":"rs21","s":"s21","c":{},"d":[41,41,41,49,49,49],"e":true},"i":{"w":"ri","s":"i","c":{"g":{"w":"right","s":"ght","c":{"a":{"w":"rightarrow","s":"arrow","c":{},"d":[44,44,44,44,44,44,44,44],"e":true}},"d":[70,70,77,77,147],"e":true},"r":{"w":"rir_i","s":"r_i","c":{"r":{"w":"rir_iri","s":"ri","c":{},"d":[47,47,47,47,47,47,47,47,47,47,47,47],"e":true}},"d":[47,47,47,47,47,47],"e":true},"h":{"w":"rih_1","s":"h_1","c":{},"d":[47,47,47,47,47,47,47,47,47],"e":true},"n":{"w":"rin","s":"n","c":{"d":{"w":"rindal","s":"dal","c":{},"d":[50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50],"e":true},"g":{"w":"ring","s":"g","c":{},"d":[50,50],"e":true}},"d":[],"e":false}},"d":[47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"a":{"w":"ra","s":"a","c":{"1":{"w":"ra18","s":"18","c":{},"d":[47,47],"e":true},"d":{"w":"radames","s":"dames","c":{},"d":[50,50],"e":true},"g":{"w":"raghuraman","s":"ghuraman","c":{},"d":[50,50,50,50,50,50],"e":true},"y":{"w":"raykova","s":"ykova","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"_":{"w":"r_i","s":"_i","c":{},"d":[47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"o":{"w":"ro","s":"o","c":{"b":{"w":"robinson","s":"binson","c":{},"d":[48,48,48,48,48],"e":true},"u":{"w":"round","s":"und","c":{},"d":[50,50,50,50],"e":true},"s":{"w":"ros","s":"s","c":{"e":{"w":"rosenberg","s":"enberg","c":{},"d":[50,50],"e":true},"u":{"w":"rosulek","s":"ulek","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"l":{"w":"role","s":"le","c":{"_":{"w":"role_","s":"_","c":{"u":{"w":"role_unspecified","s":"unspecified","c":{"0":{"w":"role_unspecified0","s":"0","c":{},"d":[78,78,78],"e":true}},"d":[78,78],"e":true},"r":{"w":"role_receiver","s":"receiver","c":{"1":{"w":"role_receiver12","s":"12","c":{},"d":[78,78,78],"e":true}},"d":[78,78],"e":true},"s":{"w":"role_se","s":"se","c":{"n":{"w":"role_sender","s":"nder","c":{"2":{"w":"role_sender22","s":"22","c":{},"d":[78,78,78],"e":true}},"d":[78,78],"e":true},"r":{"w":"role_server","s":"rver","c":{"3":{"w":"role_server32","s":"32","c":{},"d":[78,78,78],"e":true}},"d":[78,78],"e":true}},"d":[],"e":false},"c":{"w":"role_client","s":"client","c":{"4":{"w":"role_client4server","s":"4server","c":{},"d":[78,78,78],"e":true}},"d":[78,78],"e":true}},"d":[],"e":false}},"d":[61,61,61,61,61,69,69,69,69,69,69,69,69,69,69,69,70,70,70,70,70,70,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,102,102,102,102,102],"e":true}},"d":[],"e":false}},"d":[45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,166,166],"e":true},"e":{"w":"e","s":"e","c":{"n":{"w":"en","s":"n","c":{"h":{"w":"enhanc","s":"hanc","c":{"e":{"w":"enhancement","s":"ement","c":{},"d":[4,4],"e":true},"i":{"w":"enhancing","s":"ing","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"c":{"w":"enc","s":"c","c":{"r":{"w":"encrypt","s":"rypt","c":{"i":{"w":"encryption","s":"ion","c":{},"d":[50,50,50,50,50,50,50,50],"e":true}},"d":[48,48,48,48,48,48,48],"e":true},"o":{"w":"encode","s":"ode","c":{},"d":[49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49],"e":true}},"d":[],"e":false},"u":{"w":"enums","s":"ums","c":{},"d":[61,61],"e":true},"a":{"w":"enable","s":"able","c":{"d":{"w":"enabled","s":"d","c":{},"d":[71,71,71,71,71,148,148,148],"e":true},"_":{"w":"enable_ssl","s":"_ssl","c":{},"d":[109,109,109,148,148,148],"e":true}},"d":[],"e":false},"d":{"w":"endpoints","s":"dpoints","c":{"r":{"w":"endpointsrepeated","s":"repeated","c":{},"d":[104,104,104],"e":true}},"d":[104,104],"e":true}},"d":[31,31,31,31,31,31,31,31,31,31,31,31],"e":true},"x":{"w":"ex","s":"x","c":{"p":{"w":"exp","s":"p","c":{"e":{"w":"experimental","s":"erimental","c":{"_":{"w":"experimental_","s":"_","c":{"e":{"w":"experimental_enable_bucketize","s":"enable_bucketize","c":{},"d":[55,55,55,55,55,56,56,56,56,56,56,56,56,56,56],"e":true},"b":{"w":"experimental_bucket_","s":"bucket_","c":{"c":{"w":"experimental_bucket_cnt","s":"cnt","c":{},"d":[55,55,55,55,55,56,56,56,56,56,145],"e":true},"f":{"w":"experimental_bucket_folder","s":"folder","c":{},"d":[56,56,56,56,56,56,56,56,56,56,56,56,56,56,56],"e":true},"g":{"w":"experimental_bucket_group_cnt","s":"group_cnt","c":{},"d":[56,56,56,56,56],"e":true}},"d":[],"e":false},"d":{"w":"experimental_db_generating_process_num","s":"db_generating_process_num","c":{},"d":[56,56,56,56,56],"e":true}},"d":[],"e":false}},"d":[5,5],"e":true},"a":{"w":"expand","s":"and","c":{},"d":[50,50,50,50],"e":true}},"d":[],"e":false},"t":{"w":"extension","s":"tension","c":{},"d":[50,50,50,50,50,50],"e":true},"a":{"w":"example","s":"ample","c":{"s":{"w":"examples","s":"s","c":{},"d":[134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,142,142,142],"e":true}},"d":[148,148,148],"e":true}},"d":[],"e":false},"c":{"w":"ec","s":"c","c":{"d":{"w":"ecdh","s":"dh","c":{"_":{"w":"ecdh_","s":"_","c":{"o":{"w":"ecdh_oprf_ub","s":"oprf_ub","c":{"c":{"w":"ecdh_oprf_ubcsv","s":"csv","c":{},"d":[22,22],"e":true},"_":{"w":"ecdh_oprf_ub_psi_2pc_","s":"_psi_2pc_","c":{"g":{"w":"ecdh_oprf_ub_psi_2pc_gen_cache","s":"gen_cache","c":{"7":{"w":"ecdh_oprf_ub_psi_2pc_gen_cache7","s":"7","c":{},"d":[92,92,92],"e":true}},"d":[92,92],"e":true},"t":{"w":"ecdh_oprf_ub_psi_2pc_transfer_cache","s":"transfer_cache","c":{"8":{"w":"ecdh_oprf_ub_psi_2pc_transfer_cache8","s":"8","c":{},"d":[92,92,92],"e":true}},"d":[92,92],"e":true},"o":{"w":"ecdh_oprf_ub_psi_2pc_o","s":"o","c":{"f":{"w":"ecdh_oprf_ub_psi_2pc_offline","s":"ffline","c":{"9":{"w":"ecdh_oprf_ub_psi_2pc_offline9","s":"9","c":{},"d":[92,92,92],"e":true}},"d":[92,92],"e":true},"n":{"w":"ecdh_oprf_ub_psi_2pc_online","s":"nline","c":{"1":{"w":"ecdh_oprf_ub_psi_2pc_online10","s":"10","c":{},"d":[92,92,92],"e":true}},"d":[92,92],"e":true}},"d":[],"e":false},"s":{"w":"ecdh_oprf_ub_psi_2pc_shuffle_online","s":"shuffle_online","c":{"1":{"w":"ecdh_oprf_ub_psi_2pc_shuffle_online11","s":"11","c":{},"d":[92,92,92],"e":true}},"d":[92,92],"e":true}},"d":[],"e":false}},"d":[22,22,22,22,22,22,22,22],"e":true},"c":{"w":"ecdh_c","s":"c","c":{"o":{"w":"ecdh_config","s":"onfig","c":{},"d":[69,69,69],"e":true},"l":{"w":"ecdh_client_o","s":"lient_o","c":{"f":{"w":"ecdh_client_offline","s":"ffline","c":{},"d":[134,134,134,134,134,134,134,134],"e":true},"n":{"w":"ecdh_client_online","s":"nline","c":{},"d":[134,134,134,134,134,134,134,134],"e":true}},"d":[],"e":false}},"d":[],"e":false},"s":{"w":"ecdh_se","s":"se","c":{"c":{"w":"ecdh_secret_key_path","s":"cret_key_path","c":{},"d":[84,84,84,84,84],"e":true},"r":{"w":"ecdh_server_o","s":"rver_o","c":{"f":{"w":"ecdh_server_offline","s":"ffline","c":{},"d":[134,134,134,134,134,134,134,134],"e":true},"n":{"w":"ecdh_server_online","s":"nline","c":{},"d":[134,134,134,134,134,134,134,134],"e":true}},"d":[],"e":false}},"d":[],"e":false},"p":{"w":"ecdh_psi_","s":"psi_","c":{"2":{"w":"ecdh_psi_2pc","s":"2pc","c":{"1":{"w":"ecdh_psi_2pc1","s":"1","c":{},"d":[92],"e":true}},"d":[92,92],"e":true},"3":{"w":"ecdh_psi_3pc","s":"3pc","c":{"4":{"w":"ecdh_psi_3pc4","s":"4","c":{},"d":[92],"e":true}},"d":[92,92],"e":true},"n":{"w":"ecdh_psi_npc","s":"npc","c":{"5":{"w":"ecdh_psi_npc5","s":"5","c":{},"d":[92,92,92],"e":true}},"d":[92,92],"e":true}},"d":[],"e":false}},"d":[],"e":false},"c":{"w":"ecdhconfig","s":"config","c":{"e":{"w":"ecdhconfigecdh","s":"ecdh","c":{},"d":[69,69,69],"e":true}},"d":[61,61,61,61,61,69,69,69],"e":true}},"d":[5,5,17,17,21,21,22,22,22,22,22,41,41,41,41,43,43,45,47,48,48,48,48,48,48,64,69,69,84,84,84,84,84,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,159,159,159,159,159,159,159,159,159,159,159],"e":true},"c":{"w":"ecc","s":"c","c":{},"d":[91,91,91,91,91],"e":true}},"d":[],"e":false},"l":{"w":"el","s":"l","c":{"l":{"w":"elligator2","s":"ligator2","c":{},"d":[18,18,91,91,91,91,91],"e":true},"e":{"w":"ele","s":"e","c":{"t":{"w":"elette","s":"tte","c":{},"d":[50,50],"e":true},"c":{"w":"electronic","s":"ctronic","c":{},"d":[50,50,50,50],"e":true}},"d":[],"e":false}},"d":[],"e":false},"a":{"w":"easy","s":"asy","c":{},"d":[33,33,142],"e":true},"p":{"w":"ep","s":"p","c":{"s":{"w":"epsilon","s":"silon","c":{},"d":[45,45,45,45,45,45,45,85,85,85,85,85,85,85,85,85,85],"e":true},"r":{"w":"eprint","s":"rint","c":{},"d":[50,50,50,50,50,50,50,50,50,50,76,76,76,76,76,76,76,76,76,76,76,76,92,92,92,92,92,92,92,92,92,92,92,92],"e":true}},"d":[],"e":false},"f":{"w":"efficient","s":"fficient","c":{},"d":[50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,76,76,76,76,76,76,76],"e":true},"d":{"w":"eds","s":"ds","c":{},"d":[50,50,50,50,50,50],"e":true},"v":{"w":"evans","s":"vans","c":{},"d":[50,50],"e":true},"u":{"w":"eurocrypt2021","s":"urocrypt2021","c":{},"d":[50,50],"e":true},"r":{"w":"err","s":"rr","c":{"o":{"w":"error","s":"or","c":{"_":{"w":"error_codes","s":"_codes","c":{"r":{"w":"error_codesrepeated","s":"repeated","c":{},"d":[111,111,111],"e":true}},"d":[111,111],"e":true}},"d":[55,55,55,55,55,56,56,56,56,56],"e":true}},"d":[63,63],"e":true},"t":{"w":"etc","s":"tc","c":{},"d":[75],"e":true}},"d":[49,49,50,50,50,50,50,50,50,50,50,50],"e":true},"d":{"w":"d","s":"d","c":{"r":{"w":"dr","s":"r","c":{"o":{"w":"drop","s":"op","c":{},"d":[4,4],"e":true},"a":{"w":"draft","s":"aft","c":{},"d":[47,47,50,50,50],"e":true}},"d":[],"e":false},"o":{"w":"do","s":"o","c":{"c":{"w":"doc","s":"c","c":{"k":{"w":"docker","s":"ker","c":{"h":{"w":"dockerhub","s":"hub","c":{},"d":[25,25,129,129,137,137,161,161],"e":true}},"d":[6,6,11,11,22,22,22,22,22,22,22,22,36,123,137,155,161,165],"e":true},"s":{"w":"docs","s":"s","c":{},"d":[28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,31,31,31,31,31,31,31,31,31,31,31,31],"e":true}},"d":[42,42,42,42,42,42],"e":true},"i":{"w":"doi","s":"i","c":{},"d":[50,50,50,50,50,50,76,76,76,76,76],"e":true},"u":{"w":"double","s":"uble","c":{"d":{"w":"doubled","s":"d","c":{"o":{"w":"doubledoubledoublefloat","s":"oubledoublefloat","c":{},"d":[59,59,59,80,80,80,93,93,93,114,114,114],"e":true},"p":{"w":"doubledp","s":"p","c":{},"d":[85,85,85],"e":true}},"d":[],"e":false},"b":{"w":"doublebob","s":"bob","c":{},"d":[85,85,85],"e":true}},"d":[59,59,80,80,85,85,85,85,85,85,85,85,93,93,114,114],"e":true},"m":{"w":"domain","s":"main","c":{},"d":[103,103,103,103,103],"e":true},"e":{"w":"does","s":"es","c":{},"d":[109],"e":true},"n":{"w":"donna","s":"nna","c":{"4":{"w":"donna4c40","s":"4c40","c":{},"d":[165,165,165],"e":true}},"d":[165,165],"e":true}},"d":[],"e":false},"i":{"w":"di","s":"i","c":{"s":{"w":"dis","s":"s","c":{"a":{"w":"disable_alignment","s":"able_alignment","c":{},"d":[20,20,70,70,70,70,70,73,73,73,73,73,147,147,147],"e":true},"t":{"w":"distributed","s":"tributed","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"f":{"w":"diff","s":"ff","c":{"i":{"w":"diffie","s":"ie","c":{},"d":[42,42,50,50,91,91,91,91,91],"e":true},"e":{"w":"differen","s":"eren","c":{"t":{"w":"differentially","s":"tially","c":{},"d":[50,50],"e":true},"c":{"w":"difference","s":"ce","c":{},"d":[70,70,77,77,77,77],"e":true}},"d":[],"e":false}},"d":[],"e":false},"m":{"w":"dimensional","s":"mensional","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"p":{"w":"dp","s":"p","c":{"_":{"w":"dp_psi","s":"_psi","c":{"_":{"w":"dp_psi_2pc","s":"_2pc","c":{"1":{"w":"dp_psi_2pc12","s":"12","c":{},"d":[92,92,92],"e":true}},"d":[92,92],"e":true}},"d":[22,22,22,22,22],"e":true},"p":{"w":"dppsi","s":"psi","c":{"p":{"w":"dppsiparams","s":"params","c":{},"d":[82,82,82,82,82,84,84,84,84,84,84,87,87,87,87,87,87],"e":true},"_":{"w":"dppsi_params","s":"_params","c":{},"d":[84,84,84,84,84,87,87,87,87,87],"e":true}},"d":[],"e":false}},"d":[41,41,41,41,41,45,45,45,45,45,45,45,45,45,45,84,84,84,84,84,85,85,85,87,87,87,87,87,92,92,92,92,92,159,159,159,159,159,159],"e":true},"h":{"w":"dh","s":"h","c":{},"d":[42,42,165,165],"e":true},"d":{"w":"ddh","s":"dh","c":{},"d":[42,92,92,92,92,92],"e":true},"e":{"w":"de","s":"e","c":{"c":{"w":"deco","s":"co","c":{"d":{"w":"decod","s":"d","c":{"e":{"w":"decode","s":"e","c":{},"d":[49],"e":true},"i":{"w":"decoding","s":"ing","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"m":{"w":"decompositions","s":"mpositions","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"l":{"w":"delta","s":"lta","c":{},"d":[49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49],"e":true},"b":{"w":"debug","s":"bug","c":{"o":{"w":"debugoptions","s":"options","c":{"l":{"w":"debugoptionslogging","s":"logging","c":{},"d":[70,70,70,73,73,73],"e":true}},"d":[61,61,61,61,61,70,70,70,73,73,73],"e":true},"_":{"w":"debug_options","s":"_options","c":{},"d":[70,70,70,70,70,73,73,73,73,73],"e":true}},"d":[55,55,55,55,55,56,56,56,56,56,63,63],"e":true},"s":{"w":"description","s":"scription","c":{},"d":[97,97,100,100,101,101,102,102,103,103,104,104,105,105,106,106,109,109,110,110,111,111,112,112],"e":true}},"d":[],"e":false},"a":{"w":"da","s":"a","c":{"n":{"w":"daniel","s":"niel","c":{},"d":[50,50,91,91],"e":true},"i":{"w":"dai","s":"i","c":{},"d":[50,50],"e":true},"t":{"w":"dataset","s":"taset","c":{},"d":[78,78,78,78,78],"e":true}},"d":[50,50],"e":true},"b":{"w":"db","s":"b","c":{"_":{"w":"db_file","s":"_file","c":{},"d":[56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,143,143],"e":true}},"d":[140,140,142,143,143,143,145,145,145],"e":true},"u":{"w":"duplicates_check","s":"uplicates_check","c":{},"d":[77,77],"e":true}},"d":[49,50,50,50,50,50,50,50,50,50,50,50,50],"e":true},"重":{"w":"重","s":"重","c":{},"d":[5,5,8,8,20,20,20,20,20,20,20,20,22,22,22,22,22,42,45,45,45,45,49,77,77,77,86,86,86,86,86,109,109,109,109,109,109,109,109,109,109,109,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,139,147,147,148],"e":true},"移":{"w":"移","s":"移","c":{},"d":[5,5,6,6,8,8,8,8,9,9,21,21,47],"e":true},"植":{"w":"植","s":"植","c":{},"d":[5,5,8,8],"e":true},"临":{"w":"临","s":"临","c":{},"d":[5,5,14,14],"e":true},"时":{"w":"时","s":"时","c":{},"d":[5,5,14,14,39,45,45,45,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,71,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,84,84,84,84,84,87,87,87,87,87,89,89,89,89,89,93,93,93,93,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,127,127,142,142,145,146,147,147,147,157,157,157,157,162,164],"e":true},"录":{"w":"录","s":"录","c":{},"d":[5,5,17,17,63,71,71,71,71,71,91,91,91,91,91,91,91,91,91,91,117,118,127,150],"e":true},"清":{"w":"清","s":"清","c":{},"d":[5,5],"e":true},"理":{"w":"理","s":"理","c":{},"d":[5,5,40,42,45,45,45,45,45,45,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,56,56,56,56,84,84,84,84,84,92,92,92,92,92,92,92,92,92,92,109,127,127],"e":true},"在":{"w":"在","s":"在","c":{},"d":[5,5,14,14,14,14,15,15,18,18,20,20,21,21,21,21,21,21,22,22,22,22,22,22,39,42,42,42,43,43,44,45,45,45,45,45,45,45,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,70,78,78,78,78,78,84,84,84,84,84,87,87,87,87,87,87,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,94,94,109,109,109,109,109,109,111,111,111,111,111,115,117,118,118,123,127,127,127,127,127,129,129,131,131,136,137,137,140,142,143,143,143,145,145,145,147,147,147,147,147,148,148,148,148,148,148,148,150,151,155,159,159,161,161,162,162,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,167],"e":true},"读":{"w":"读","s":"读","c":{},"d":[5,5,14,14,56,56,56,56,56,71,133,139,139],"e":true},"取":{"w":"取","s":"取","c":{},"d":[5,5,14,14,43,43,44,44,44,44,44,44,48,48,48,48,48,56,56,56,56,56,84,84,84,84,84,87,87,87,87,87,89,89,89,89,89,139,147],"e":true},"器":{"w":"器","s":"器","c":{},"d":[5,5,14,14,17,17,22,22,22,22,22,45,45,45,45,45,47,49,123,123,127,134,134,134,134,134,134,134,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,155,155],"e":true},"为":{"w":"为","s":"为","c":{},"d":[6,6,11,11,20,20,20,20,45,45,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,59,59,59,59,59,59,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,67,67,67,67,67,67,67,67,67,67,68,68,68,68,68,70,70,70,70,70,70,70,70,70,70,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,80,80,80,80,80,80,80,80,91,91,91,91,91,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,109,109,109,109,109,109,109,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,112,112,112,112,112,112,112,112,112,112,114,114,114,114,114,114,114,114,114,114,117,118,118,123,127,127,127,127,139,139,139,140,141,141,141,141,143,145,145,145,145,147,147,147,147,147,147,147,148,148,148,148,150,151,155,157,157,159,159],"e":true},"文":{"w":"文","s":"文","c":{},"d":[6,6,11,11,14,14,22,22,22,22,22,22,22,22,22,22,22,22,26,28,29,45,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,65,65,65,65,65,68,68,68,68,68,75,75,75,75,75,80,80,84,84,84,84,84,84,84,84,84,84,86,86,86,86,86,88,88,88,88,88,88,88,88,88,88,93,93,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,114,114,114,114,116,117,117,117,118,118,119,119,119,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,135,139,140,140,140,140,141,141,141,142,142,142,142,142,142,142,142,142,143,143,143,143,143,143,143,148,148,148,148,149,150,150,150,152,159,160,160,163,163],"e":true},"件":{"w":"件","s":"件","c":{},"d":[6,6,11,11,14,14,18,18,19,19,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,29,29,29,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,65,65,65,65,65,68,68,68,68,68,75,75,75,75,75,84,84,84,84,84,84,84,84,84,84,86,86,86,86,86,88,88,88,88,88,88,88,88,88,88,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,109,109,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,117,117,117,118,118,119,119,119,127,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,140,140,140,140,141,141,141,142,142,142,142,142,142,142,142,143,143,143,143,143,143,143,148,148,148,148,150,150,150,152,163,163],"e":true},"添":{"w":"添","s":"添","c":{},"d":[6,6,8,8,11,11,14,14,17,17,18,18,18,18,21,21,21,21,45,45,45],"e":true},"加":{"w":"加","s":"加","c":{},"d":[6,6,8,8,11,11,14,14,17,17,18,18,18,18,21,21,21,21,42,42,42,42,42,45,45,45,45,45,45,45,45,45,45,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,56,56,56,56,56,56,56,56,56,111,111,111,111,111,164],"e":true},"入":{"w":"入","s":"入","c":{},"d":[6,6,11,11,31,31,43,44,44,44,44,45,45,48,48,48,48,49,49,49,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,65,65,65,65,65,66,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,70,70,70,70,70,70,70,70,70,70,70,70,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,84,84,84,84,84,85,86,86,86,86,86,86,86,86,86,86,86,89,89,89,89,89,115,115,115,115,115,115,115,115,115,115,115,115,119,127,130,130,130,130,130,130,130,130,130,130,135,140,140,143,147,152,158,164],"e":true},"口":{"w":"口","s":"口","c":{},"d":[6,6,11,11,22,22,22,22,22,48,48,48,48,48,48,48,100,100,100,100,100,100,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,104,104,104,104,104,104,104,104,104,104,104,109,149,158],"e":true},"点":{"w":"点","s":"点","c":{},"d":[6,6,11,11,20,20,71,71,71,71,71,71,101,101,101,101,101,104,104,104,104,104],"e":true},"允":{"w":"允","s":"允","c":{},"d":[6,6,11,11,45,56,56,56,56,56,77,141,141,147],"e":true},"许":{"w":"许","s":"许","c":{},"d":[6,6,11,11,45,56,56,56,56,56,77,141,141,147],"e":true},"直":{"w":"直","s":"直","c":{},"d":[6,6,11,11,22,22,109,118],"e":true},"向":{"w":"向","s":"向","c":{},"d":[6,6,11,11,43,45,49,49,56,56,56,56,56,142,143,145,167],"e":true},"m":{"w":"m","s":"m","c":{"a":{"w":"ma","s":"a","c":{"i":{"w":"main","s":"in","c":{},"d":[6,6,11,11,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,31,31,31,31,31,31,31,31,31,31,31,31,117,117,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,142,142,142,142,142,147,147,150,150,150,150],"e":true},"c":{"w":"macos","s":"cos","c":{},"d":[7,7],"e":true},"t":{"w":"mat","s":"t","c":{"h":{"w":"math","s":"h","c":{"c":{"w":"mathcal","s":"cal","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"b":{"w":"mathbb","s":"bb","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"r":{"w":"mathrm","s":"rm","c":{},"d":[49,49,49,49,49,49,49,49],"e":true}},"d":[],"e":false},"t":{"w":"matt","s":"t","c":{},"d":[50,50],"e":true},"c":{"w":"match","s":"ch","c":{"m":{"w":"matchmaking","s":"making","c":{},"d":[50,50,76,76,76,76,76],"e":true},"_":{"w":"match_cnt","s":"_cnt","c":{},"d":[57,57,57,57,57],"e":true}},"d":[],"e":false}},"d":[],"e":false},"x":{"w":"max_","s":"x_","c":{"i":{"w":"max_items_per_bin","s":"items_per_bin","c":{},"d":[48,48,48,48,48,48,48,48,48,48],"e":true},"r":{"w":"max_retry","s":"retry","c":{"_":{"w":"max_retry_interval_ms","s":"_interval_ms","c":{},"d":[111,111,111,111,111],"e":true}},"d":[111,111,111,111],"e":true}},"d":[],"e":false},"l":{"w":"mal","s":"l","c":{"i":{"w":"malicious","s":"icious","c":{},"d":[50,50],"e":true},"k":{"w":"malkin","s":"kin","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"n":{"w":"mannan","s":"nnan","c":{},"d":[50,50],"e":true},"r":{"w":"mar","s":"r","c":{"i":{"w":"mariana","s":"iana","c":{},"d":[50,50],"e":true}},"d":[50,50],"e":true},"p":{"w":"map","s":"p","c":{},"d":[105,105,105],"e":true}},"d":[],"e":false},"e":{"w":"me","s":"e","c":{"a":{"w":"mea","s":"a","c":{"8":{"w":"mea86","s":"86","c":{},"d":[42,42,76,76,76,76,76],"e":true},"d":{"w":"meadows","s":"dows","c":{},"d":[42,50,50,76,76,76,76,76],"e":true}},"d":[],"e":false},"r":{"w":"mersenne","s":"rsenne","c":{},"d":[50,50,91,91,91,91,91],"e":true},"i":{"w":"meiklejohn","s":"iklejohn","c":{},"d":[50,50],"e":true},"s":{"w":"message","s":"ssage","c":{"s":{"w":"messages","s":"s","c":{},"d":[61,61,95,95,95,95,95,95],"e":true}},"d":[51],"e":true},"m":{"w":"memorypsiconfig","s":"morypsiconfig","c":{},"d":[82,82,82,82,82],"e":true}},"d":[],"e":false},"i":{"w":"mi","s":"i","c":{"c":{"w":"mic","s":"c","c":{"r":{"w":"microsoft","s":"rosoft","c":{},"d":[42,42,42,42,42,42,48,48,48,48,48,50,50,50,50,50,50,50,56,56,142,142,142],"e":true},"h":{"w":"michael","s":"hael","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"n":{"w":"mini","s":"ni","c":{},"d":[159,159,159,159],"e":true}},"d":[],"e":false},"p":{"w":"mpc","s":"pc","c":{},"d":[45,159],"e":true},"o":{"w":"mo","s":"o","c":{"r":{"w":"more","s":"re","c":{"n":{"w":"moreno","s":"no","c":{},"d":[50,50],"e":true}},"d":[50,50,75,76,76,76,76,76],"e":true},"d":{"w":"mode","s":"de","c":{"_":{"w":"mode_","s":"_","c":{"o":{"w":"mode_o","s":"o","c":{"f":{"w":"mode_offline","s":"ffline","c":{"3":{"w":"mode_offline3","s":"3","c":{},"d":[79,79,79],"e":true},"_":{"w":"mode_offline_","s":"_","c":{"g":{"w":"mode_offline_gen_cache","s":"gen_cache","c":{"1":{"w":"mode_offline_gen_cache1server","s":"1server","c":{},"d":[79,79,79],"e":true}},"d":[73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,79,79],"e":true},"t":{"w":"mode_offline_transfer_cache","s":"transfer_cache","c":{"2":{"w":"mode_offline_transfer_cache2server","s":"2server","c":{},"d":[79,79,79],"e":true}},"d":[79,79],"e":true}},"d":[],"e":false}},"d":[73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,79,79],"e":true},"n":{"w":"mode_online","s":"nline","c":{"4":{"w":"mode_online4","s":"4","c":{},"d":[79,79,79],"e":true}},"d":[73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,79,79],"e":true}},"d":[],"e":false},"f":{"w":"mode_full","s":"full","c":{"5":{"w":"mode_full5","s":"5","c":{},"d":[79,79,79],"e":true}},"d":[73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,79,79],"e":true},"u":{"w":"mode_unspecified","s":"unspecified","c":{"0":{"w":"mode_unspecified0","s":"0","c":{},"d":[79,79,79],"e":true}},"d":[79,79],"e":true}},"d":[],"e":false}},"d":[61,61,61,61,61,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73],"e":true}},"d":[],"e":false},"u":{"w":"mu","s":"u","c":{"c":{"w":"much","s":"ch","c":{},"d":[78,78,78,78,78],"e":true},"l":{"w":"multi","s":"lti","c":{},"d":[165,165],"e":true}},"d":[],"e":false},"s":{"w":"ms","s":"s","c":{},"d":[127,127,127],"e":true},"t":{"w":"mtls","s":"tls","c":{},"d":[148],"e":true}},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50,50,50,157,157,157],"e":true},"传":{"w":"传","s":"传","c":{},"d":[6,6,11,11,49,92,92,92,92,92,109],"e":true},"递":{"w":"递","s":"递","c":{},"d":[6,6,11,11],"e":true},"j":{"w":"j","s":"j","c":{"s":{"w":"json","s":"son","c":{},"d":[6,6,11,11,55,55,55,55,55,56,56,56,56,56,118,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,143,143,143,143,143,143,143,143,143,145],"e":true},"o":{"w":"join","s":"oin","c":{},"d":[22,22,22,22,22,31,31,31,31,31,31,70,70,70,70,70,70,70,70,77,77,77,77,77,77,77,77],"e":true},"l":{"w":"jl10","s":"l10","c":{},"d":[47,47],"e":true},"a":{"w":"ja","s":"a","c":{"r":{"w":"jarecki","s":"recki","c":{},"d":[50,50],"e":true},"v":{"w":"java","s":"va","c":{},"d":[59,59,59,59,59,80,80,80,80,80,93,93,93,93,93,114,114,114,114,114],"e":true}},"d":[],"e":false},"u":{"w":"junfeng","s":"unfeng","c":{},"d":[56,75],"e":true}},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,50,50,50,50,50,91,91,91,91,91],"e":true},"模":{"w":"模","s":"模","c":{},"d":[6,6,11,11,41,41,41,41,42,42,44,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,56,56,56,56,73,73,73,73,73,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,118,118,118,120,122,127,127,127,127,127,151,151,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,166,167,167],"e":true},"式":{"w":"式","s":"式","c":{},"d":[6,6,11,11,22,45,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,56,56,56,56,73,73,73,73,73,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,127,127,139,139,141,166],"e":true},"升":{"w":"升","s":"升","c":{},"d":[6,6,10,10,13,13],"e":true},"级":{"w":"级","s":"级","c":{},"d":[6,6,10,10,13,13,40,48,48,48,48,48,48,63,63,77],"e":true},"y":{"w":"y","s":"y","c":{"a":{"w":"ya","s":"a","c":{"c":{"w":"yacl","s":"cl","c":{},"d":[6,6,10,10,13,13,49,49,97,97,97,97,97,97,97,139,139,147,147,147,147],"e":true},"n":{"w":"yang","s":"ng","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"i":{"w":"yi","s":"i","c":{"y":{"w":"yiy_i","s":"y_i","c":{"y":{"w":"yiy_iyi","s":"yi","c":{},"d":[42,42,42,42,47,47,47,47,47,47],"e":true}},"d":[42,42,42,47,47,47],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47],"e":true},"_":{"w":"y_","s":"_","c":{"i":{"w":"y_i","s":"i","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47],"e":true}},"d":[45,45,45,45,45,45,45,45,45,45,45,45,45],"e":true},"y":{"w":"yy","s":"y","c":{"y":{"w":"yyy","s":"y","c":{},"d":[45,45,45],"e":true}},"d":[45,45,45],"e":true},"b":{"w":"yb","s":"b","c":{"y":{"w":"yby","s":"y","c":{},"d":[45,45,45,45,45,45,45,45,45,45,45,45,45,45],"e":true}},"d":[45,45,45,45,45,45,45,45,45,45],"e":true},"x":{"w":"yx","s":"x","c":{},"d":[49,49,49,49,49,49,49,49,49,49,49],"e":true},"u":{"w":"yuval","s":"uval","c":{},"d":[50,50],"e":true},"o":{"w":"you","s":"ou","c":{},"d":[142],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50],"e":true},"至":{"w":"至","s":"至","c":{},"d":[6,6,10,10,13,13,42],"e":true},"x":{"w":"x","s":"x","c":{"z":{"w":"xz","s":"z","c":{},"d":[6,6,12,12],"e":true},"x":{"w":"xx","s":"x","c":{"d":{"w":"xxd","s":"d","c":{},"d":[37,37],"e":true},"x":{"w":"xxx","s":"x","c":{},"d":[45,45,45,145],"e":true}},"d":[45,45,45],"e":true},"i":{"w":"xi","s":"i","c":{"x":{"w":"xix_i","s":"x_i","c":{"x":{"w":"xix_ixi","s":"xi","c":{},"d":[42,42,42,42,47,47,47,47,47,47],"e":true}},"d":[42,42,42,47,47,47],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47],"e":true},"_":{"w":"x_i","s":"_i","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47],"e":true},"a":{"w":"xa","s":"a","c":{"y":{"w":"xay","s":"y","c":{},"d":[45,45,45,45,45,45],"e":true},"x":{"w":"xax","s":"x","c":{},"d":[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45],"e":true},"b":{"w":"xab","s":"b","c":{"x":{"w":"xabx","s":"x","c":{},"d":[45,45,45,45,45,45,45],"e":true}},"d":[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45],"e":true}},"d":[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45],"e":true},"e":{"w":"xeon","s":"eon","c":{},"d":[45,45,45,45,45,165,165,165,165,165,165,165,165,165,165,166],"e":true},"u":{"w":"xu","s":"u","c":{},"d":[50,50],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50],"e":true},"下":{"w":"下","s":"下","c":{},"d":[6,6,12,12,37,41,42,44,45,45,45,45,45,45,45,56,56,56,56,56,63,93,93,93,93,109,117,118,118,123,127,127,127,130,131,131,139,139,139,141,151,155,159,162,162,163,167,167],"e":true},"载":{"w":"载","s":"载","c":{},"d":[6,6,12,12,56,56,56,56,56,109,109,164],"e":true},"链":{"w":"链","s":"链","c":{},"d":[6,6,12,12,97,97,97,97,97,109,109,112,112,112,112,112],"e":true},"构":{"w":"构","s":"构","c":{},"d":[7,7,17,17,38,47,48,49,49,49,49,112,112,112,112,112,117,150],"e":true},"建":{"w":"建","s":"建","c":{},"d":[7,7,38,45,47,48,117,150,167],"e":true},"问":{"w":"问","s":"问","c":{},"d":[7,7,39,39,55,55,55,55,55,115,115,115,115,127,146],"e":true},"题":{"w":"题","s":"题","c":{},"d":[7,7,39,39,40,55,55,55,55,55,56,56,56,56,56,115,115,115,115,146],"e":true},"桶":{"w":"桶","s":"桶","c":{},"d":[8,8,44,44,44,44,48,48,48,48,48,48,48,48,48,48,48,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,67,67,67,67,67,67,67,67,67,67,72,72,72,72,72,72,72,72,72,72,84,84,84,84,84,127,139,139,145,145,145,145,145,145,145,145,147,147],"e":true},"系":{"w":"系","s":"系","c":{},"d":[14,14,48,48,48,48,48,48,48,48,48,48,91,91,91,91,91,112,112,112,112,112,127],"e":true},"统":{"w":"统","s":"统","c":{},"d":[14,14,91,91,91,91,91,112,112,112,112,112],"e":true},"夹":{"w":"夹","s":"夹","c":{},"d":[14,14,56,56,56,56,56,56,56,56,56,56],"e":true},"检":{"w":"检","s":"检","c":{},"d":[14,14,20,20,20,20,20,20,48,48,70,70,70,70,70,71,71,71,71,71,71,86,86,86,86,86,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,127],"e":true},"拼":{"w":"拼","s":"拼","c":{},"d":[14,14],"e":true},"写":{"w":"写","s":"写","c":{},"d":[14,14,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,71,160],"e":true},"错":{"w":"错","s":"错","c":{},"d":[14,14,49,71,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111],"e":true},"误":{"w":"误","s":"误","c":{},"d":[14,14,71,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111],"e":true},"暴":{"w":"暴","s":"暴","c":{},"d":[15,15,16,16,18,18],"e":true},"露":{"w":"露","s":"露","c":{},"d":[15,15,16,16,18,18,43,43,45,45,77,77,77,77,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,159],"e":true},"于":{"w":"于","s":"于","c":{},"d":[17,17,22,22,22,22,22,22,37,41,41,41,41,41,41,41,41,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,44,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,59,59,67,67,67,67,67,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,80,80,80,80,84,84,84,84,84,84,84,84,84,84,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,93,93,93,93,93,93,93,93,109,114,114,114,114,114,114,120,122,140,143,145,147,159],"e":true},"调":{"w":"调","s":"调","c":{},"d":[17,17,22,22,22,22,22,45,109],"e":true},"试":{"w":"试","s":"试","c":{},"d":[17,17,38,45,56,56,56,56,56,56,56,56,56,56,109,109,109,109,109,109,109,109,109,109,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,115,115,115,115,115,115,115,115,116,123,127,127,127,139,139,139,149,155,157,159,164,166],"e":true},"日":{"w":"日","s":"日","c":{},"d":[17,17,55,55,55,55,55,56,56,56,56,56,63],"e":true},"志":{"w":"志","s":"志","c":{},"d":[17,17,55,55,55,55,55,56,56,56,56,56,63],"e":true},"记":{"w":"记","s":"记","c":{},"d":[17,17,43,43,48,48,48,48,48,63,91,91,91,91,91,127],"e":true},"库":{"w":"库","s":"库","c":{},"d":[17,17,22,22,22,22,22,22,22,22,22,22,22,22,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,48,48,48,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,139,139],"e":true},"结":{"w":"结","s":"结","c":{},"d":[17,17,43,44,44,45,45,45,45,45,45,45,45,45,48,48,48,48,48,49,49,49,49,49,49,53,53,53,53,53,55,55,55,55,55,69,69,69,69,69,78,78,78,78,78,84,84,84,84,84,84,84,84,84,84,87,87,87,87,87,87,87,87,87,87,89,89,89,89,89,89,92,92,92,92,92,92,92,92,92,92,109,109,117,127,127,147,147,150,157,164,167],"e":true},"h":{"w":"h","s":"h","c":{"0":{"w":"h0","s":"0","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"1":{"w":"h1","s":"1","c":{},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"2":{"w":"h2","s":"2","c":{},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"3":{"w":"h3","s":"3","c":{},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,48,48,48,48,48,48],"e":true},"a":{"w":"ha","s":"a","c":{"s":{"w":"hash_","s":"sh_","c":{"t":{"w":"hash_to_curve","s":"to_curve","c":{},"d":[18,18,91,91,91,91,91],"e":true},"f":{"w":"hash_func_count","s":"func_count","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true}},"d":[],"e":false},"n":{"w":"han","s":"n","c":{"g":{"w":"hangzhou","s":"gzhou","c":{},"d":[25,25,129,129,137,161],"e":true},"d":{"w":"handbook","s":"dbook","c":{},"d":[33,33],"e":true}},"d":[],"e":false},"r":{"w":"hardness","s":"rdness","c":{},"d":[50,50],"e":true},"v":{"w":"have","s":"ve","c":{},"d":[142],"e":true}},"d":[],"e":false},"t":{"w":"ht","s":"t","c":{"t":{"w":"http","s":"tp","c":{"s":{"w":"https","s":"s","c":{},"d":[28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,31,31,31,31,31,31,31,31,31,31,31,31,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,56,56,76,76,76,76,76,76,76,76,76,76,76,76,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,142,142,142,147,147],"e":true},"_":{"w":"http_","s":"_","c":{"t":{"w":"http_timeout_ms","s":"timeout_ms","c":{},"d":[109],"e":true},"c":{"w":"http_codes","s":"codes","c":{"r":{"w":"http_codesrepeated","s":"repeated","c":{},"d":[111,111,111],"e":true}},"d":[111,111],"e":true}},"d":[],"e":false}},"d":[50,50,50,50,50,50,91,91,91,91,91,91,103,103,103,103,103,103,103,103,103,103,109,109,109,109,111,111,111,111,111,111,111,111,111,111],"e":true},"m":{"w":"html","s":"ml","c":{},"d":[50,50,50],"e":true}},"d":[],"e":false},"f":{"w":"hfh99","s":"fh99","c":{},"d":[41,41,41,42,42],"e":true},"u":{"w":"hu","s":"u","c":{"b":{"w":"huberman","s":"berman","c":{},"d":[42,50,50],"e":true},"m":{"w":"human","s":"man","c":{},"d":[50,50],"e":true},"a":{"w":"huang","s":"ang","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"o":{"w":"ho","s":"o","c":{"g":{"w":"hogg","s":"gg","c":{},"d":[42,50,50],"e":true},"m":{"w":"homomorphic","s":"momorphic","c":{},"d":[50,50,50,50,50,50,50,50],"e":true},"s":{"w":"host","s":"st","c":{},"d":[110,110,110,110,110],"e":true}},"d":[],"e":false},"e":{"w":"he","s":"e","c":{"l":{"w":"hellman","s":"llman","c":{},"d":[42,42,50,50,91,91,91,91,91],"e":true},"i":{"w":"heidelberg","s":"idelberg","c":{},"d":[50,50],"e":true},"r":{"w":"here","s":"re","c":{},"d":[142,142],"e":true}},"d":[45],"e":true},"_":{"w":"h_","s":"_","c":{"0":{"w":"h_0","s":"0","c":{},"d":[48,48,48,48,48,48,48,48,48,48],"e":true},"1":{"w":"h_1","s":"1","c":{},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"2":{"w":"h_2","s":"2","c":{},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"3":{"w":"h_3","s":"3","c":{},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44],"e":true}},"d":[],"e":false},"n":{"w":"hn","s":"n","c":{},"d":[49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,157,157,157],"e":true},"恶":{"w":"恶","s":"恶","c":{},"d":[18,18,41,41,48,48,159,159,159,159,159,159,159,159,159,159,159,167],"e":true},"v":{"w":"v","s":"v","c":{"0":{"w":"v0","s":"0","c":{},"d":[29,29,29,29,29,29,29,29],"e":true},"1":{"w":"v1","s":"1","c":{},"d":[22,22,22,22,22,29,29,29,29,29,29,29,51,51,51,51,94,115,115,115,115,158,160,160],"e":true},"2":{"w":"v2","s":"2","c":{},"d":[18,18,21,21,21,21,21,21,21,21,22,22,22,22,22,22,29,29,29,29,29,29,29,42,42,42,42,42,42,42,50,50,50,51,51,51,51,91,91,91,91,91,91,94,94,94,97,97,97,97,97,97,97,97,97,97,97,97,97,97,115,115,115,115,115,115,115,115,115,148,149,149,155,157],"e":true},"o":{"w":"vo","s":"o","c":{"l":{"w":"vol","s":"l","c":{"e":{"w":"vole","s":"e","c":{},"d":[18,18,41,41,49,49,49,49,49,50,50,50,50,50,50],"e":true}},"d":[50,50,50,50],"e":true},"p":{"w":"voprf","s":"prf","c":{},"d":[47,47,47,50,50,50],"e":true}},"d":[],"e":false},"e":{"w":"ve","s":"e","c":{"c":{"w":"vec","s":"c","c":{"t":{"w":"vector","s":"tor","c":{},"d":[50,50,50,50,50,50],"e":true}},"d":[49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49],"e":true},"r":{"w":"ver","s":"r","c":{"l":{"w":"verlag","s":"lag","c":{},"d":[50,50,50,50],"e":true},"c":{"w":"vercauteren","s":"cauteren","c":{},"d":[50,50],"e":true},"i":{"w":"verify_depth","s":"ify_depth","c":{},"d":[112,112,112,112,112,148,148,148],"e":true}},"d":[],"e":false}},"d":[],"e":false},"a":{"w":"value","s":"alue","c":{},"d":[61,61,61,82,82,82,95,95,95,106,106,106,106,106,141,141,141,141,141,141],"e":true}},"d":[49,49,50,50],"e":true},"排":{"w":"排","s":"排","c":{},"d":[18,18,19,19,45,45,45,45,88,88,88,88,88],"e":true},"序":{"w":"序","s":"序","c":{},"d":[18,18,19,19,43,43,47,47,47,47,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,80,80,88,88,88,88,88,93,93,147,147],"e":true},"命":{"w":"命","s":"命","c":{},"d":[18,18,20,20,20,20,103,103,103,103,103,131,131,139,139,162,162,163],"e":true},"令":{"w":"令","s":"令","c":{},"d":[18,18,131,131,139,139,162,162,163],"e":true},"缓":{"w":"缓","s":"缓","c":{},"d":[18,18,19,19,92,92,92,92,92,92,92,92,92,92],"e":true},"冲":{"w":"冲","s":"冲","c":{},"d":[18,18,19,19],"e":true},"区":{"w":"区","s":"区","c":{},"d":[18,18,19,19,42,42,44,145,147,147],"e":true},"大":{"w":"大","s":"大","c":{},"d":[18,18,19,19,43,44,48,48,48,48,48,48,48,48,48,48,48,49,59,59,59,59,67,67,67,67,67,72,72,72,72,72,77,77,77,77,78,78,78,78,78,80,80,80,80,84,84,84,84,84,92,92,92,92,92,93,93,93,93,109,109,109,109,109,109,109,109,109,109,111,111,111,111,111,111,111,111,111,111,112,112,112,112,112,114,114,114,114,114,114,127,127,145,145,147,147],"e":true},"小":{"w":"小","s":"小","c":{},"d":[18,18,19,19,43,48,48,48,48,48,56,56,56,56,56,67,67,67,67,67,72,72,72,72,72,77,77,77,77,84,84,84,84,84,109,109,109,109,109,109,109,109,147,147,157,157],"e":true},"不":{"w":"不","s":"不","c":{},"d":[18,18,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,45,45,45,47,48,48,48,48,48,48,49,49,49,49,49,49,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,67,67,67,67,67,70,70,70,70,70,72,72,72,72,72,73,73,73,73,73,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,118,120,120,122,122,123,127,127,127,139,145,145,147,147,147,147,147,150,151,151,152,155,164],"e":true},"稳":{"w":"稳","s":"稳","c":{},"d":[18,18],"e":true},"性":{"w":"性","s":"性","c":{},"d":[18,18,40,42,42,42,47,49,49,49,49,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,70,70,70,70,70,70,70,70,70,70,73,73,73,73,73,73,73,73,73,73,118,118,123,127,127,127,127,127,127,127,139,139,151],"e":true},"竞":{"w":"竞","s":"竞","c":{},"d":[18,18,19,19],"e":true},"态":{"w":"态","s":"态","c":{},"d":[18,18,19,19,48,48,48,48,48,48,48,48,48,48,48,48,48,48,71,71,71,71,71],"e":true},"条":{"w":"条","s":"条","c":{},"d":[18,18,19,19,127,127,127],"e":true},"将":{"w":"将","s":"将","c":{},"d":[20,20,20,20,42,42,42,42,42,42,43,43,44,44,44,44,44,44,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,69,69,69,69,69,84,84,84,84,84,84,84,84,84,84,87,87,87,87,87,87,87,87,87,87,109,109,109,109,117,117,118,145,145,146,147,147,148,149,150,150,167],"e":true},"名":{"w":"名","s":"名","c":{},"d":[20,20,20,20,91,91,91,91,91,92,92,92,92,92,102,102,102,102,102,103,103,103,103,103,103,103,103,103,103,104,104,104,104,104,117,130,130,130,130,130,150],"e":true},"左":{"w":"左","s":"左","c":{},"d":[20,20,70,70,70,70,77,77,77,77],"e":true},"右":{"w":"右","s":"右","c":{},"d":[20,20,70,70,70,70,77,77,77,77],"e":true},"全":{"w":"全","s":"全","c":{},"d":[20,20,42,45,47,49,67,67,67,67,67,72,72,72,72,72,147,147,147,159,159],"e":true},"了":{"w":"了","s":"了","c":{},"d":[20,20,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,25,41,42,43,44,45,47,47,47,47,48,48,48,48,48,48,48,48,48,49,49,49,49,49,56,56,56,56,56,56,70,70,70,70,70,73,73,73,73,73,109,109,109,118,118,123,127,127,127,129,129,139,139,139,142,143,147,148,151,155,157],"e":true},"差":{"w":"差","s":"差","c":{},"d":[20,20,41,41,45,45,45,45,45,77,77,77,77,92,92,92,92,92,92,92,92,92,92,92,147],"e":true},"集":{"w":"集","s":"集","c":{},"d":[20,20,22,22,22,22,22,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,55,55,55,55,55,56,56,56,56,56,77,77,77,77,78,78,78,78,78,89,89,89,89,89,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,127,139,139,146,147,147,147,158,167],"e":true},"如":{"w":"如","s":"如","c":{},"d":[20,20,37,42,45,45,45,45,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,59,59,59,59,59,59,64,64,64,64,64,65,65,65,65,65,67,67,67,67,67,67,67,67,67,67,68,68,68,68,68,70,70,70,70,70,70,70,70,70,70,70,71,71,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,77,77,77,77,77,77,77,77,80,80,80,80,80,80,80,80,92,92,92,92,92,93,93,93,93,93,93,93,93,102,102,102,102,102,109,109,109,109,109,109,112,112,112,112,112,112,112,112,112,112,114,114,114,114,114,114,114,114,117,117,118,127,127,127,127,139,139,139,139,141,142,142,142,143,143,144,145,147,147,147,147,148,148,148,148,148,150,150,159,159,162,162,163,166],"e":true},"果":{"w":"果","s":"果","c":{},"d":[20,20,43,44,44,45,45,45,45,45,45,45,45,45,45,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,53,53,53,53,53,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,59,59,59,59,59,59,64,64,64,64,64,65,65,65,65,65,67,67,67,67,67,67,67,67,67,67,68,68,68,68,68,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,71,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,77,77,77,77,77,77,77,77,78,78,78,78,78,80,80,80,80,80,80,80,80,84,84,84,84,84,84,84,84,84,84,87,87,87,87,87,87,87,87,87,87,89,89,89,89,89,89,92,92,92,92,92,92,92,92,92,92,93,93,93,93,93,93,93,93,109,109,109,109,109,112,112,112,112,112,112,112,112,112,112,114,114,114,114,114,114,114,114,117,127,127,127,127,127,139,142,142,142,143,143,145,147,147,147,147,147,148,150,157,159,159,164,166,167],"e":true},"存":{"w":"存","s":"存","c":{},"d":[20,20,43,44,49,49,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,67,67,67,67,67,67,67,67,67,67,71,71,71,71,71,72,72,72,72,72,72,72,72,72,72,87,92,92,92,92,92,92,92,92,92,92,147],"e":true},"恢":{"w":"恢","s":"恢","c":{},"d":[20,20,21,21,22,22,22,22,22,70,70,70,70,70,71,71,148,148],"e":true},"则":{"w":"则","s":"则","c":{},"d":[20,20,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,59,59,64,64,64,64,64,65,65,65,65,65,67,67,67,67,67,67,67,67,67,67,70,70,70,70,70,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,80,80,80,80,93,93,93,93,109,109,111,111,111,111,111,111,111,111,111,111,112,112,112,112,112,112,112,112,112,112,114,114,114,114,114,114,142,147,147,147,147,159],"e":true},"跳":{"w":"跳","s":"跳","c":{},"d":[20,20,77,77],"e":true},"键":{"w":"键","s":"键","c":{},"d":[20,20,20,20,22,22,22,22,22,48,48,49,49,49,49,65,65,65,65,65,70,70,70,70,70,70,70,70,70,70,73,73,73,73,73,77,77,77,141,141],"e":true},"故":{"w":"故","s":"故","c":{},"d":[21,21,22,22,22,22,22],"e":true},"障":{"w":"障","s":"障","c":{},"d":[21,21,22,22,22,22,22],"e":true},"内":{"w":"内","s":"内","c":{},"d":[21,21,56,56,56,56,56,56,56,56,56,56,67,67,67,67,67,67,67,67,67,67,69,72,72,72,72,72,72,72,72,72,72,87,103,103,103,103,103,139,146],"e":true},"迁":{"w":"迁","s":"迁","c":{},"d":[21,21],"e":true},"k":{"w":"k","s":"k","c":{"k":{"w":"kkrt","s":"krt","c":{"1":{"w":"kkrt16","s":"16","c":{},"d":[41,41,41,44,167,167],"e":true},"c":{"w":"kkrtconfig","s":"config","c":{"k":{"w":"kkrtconfigkkrt","s":"kkrt","c":{},"d":[69,69,69],"e":true}},"d":[61,61,61,61,61,69,69,69],"e":true},"_":{"w":"kkrt_","s":"_","c":{"c":{"w":"kkrt_config","s":"config","c":{},"d":[69,69,69,69,69],"e":true},"p":{"w":"kkrt_psi_","s":"psi_","c":{"2":{"w":"kkrt_psi_2pc","s":"2pc","c":{"2":{"w":"kkrt_psi_2pc2","s":"2","c":{},"d":[92],"e":true}},"d":[92,92],"e":true},"n":{"w":"kkrt_psi_npc","s":"npc","c":{"6":{"w":"kkrt_psi_npc6","s":"6","c":{},"d":[92,92,92],"e":true}},"d":[92,92],"e":true}},"d":[],"e":false}},"d":[],"e":false}},"d":[21,21,22,22,22,22,22,22,22,22,22,22,67,69,69,92,92,92,92,92,159,159,159,159,159,159,159,159],"e":true},"i":{"w":"ki","s":"i","c":{"m":{"w":"kim","s":"m","c":{},"d":[50,50],"e":true}},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44],"e":true},"_":{"w":"k_i","s":"_i","c":{},"d":[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44],"e":true},"a":{"w":"ka","s":"a","c":{"p":{"w":"kappa","s":"ppa","c":{"r":{"w":"kappar","s":"r","c":{},"d":[49,49,49,49],"e":true}},"d":[49,49,49,49],"e":true},"t":{"w":"katz","s":"tz","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"o":{"w":"ko","s":"o","c":{"h":{"w":"kohl","s":"hl","c":{},"d":[50,50,50,50,50,50,50,50],"e":true},"l":{"w":"kolesnikov","s":"lesnikov","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"e":{"w":"ke","s":"e","c":{"y":{"w":"key","s":"y","c":{"s":{"w":"keys","s":"s","c":{"_":{"w":"keys_unique","s":"_unique","c":{},"d":[65,65,65,65,65],"e":true},"r":{"w":"keysrepeated","s":"repeated","c":{},"d":[70,70,70,73,73,73],"e":true}},"d":[70,70,73,73],"e":true},"w":{"w":"keyword","s":"word","c":{},"d":[136,136],"e":true}},"d":[50,50,65,65,65,65,65,70,70,70,70,70,106,106,106,106,141,141,141,141,141,141],"e":true},"l":{"w":"kelong","s":"long","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"u":{"w":"kumaresan","s":"umaresan","c":{},"d":[50,50],"e":true},"n":{"w":"knowledge","s":"nowledge","c":{},"d":[50,50],"e":true}},"d":[44,44,44,44,44,44,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50],"e":true},"欢":{"w":"欢","s":"欢","c":{},"d":[22],"e":true},"迎":{"w":"迎","s":"迎","c":{},"d":[22],"e":true},"多":{"w":"多","s":"多","c":{},"d":[22,45,45,45,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,70,78,78,78,78,78,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,127,133,144,147,147,147,159,166],"e":true},"种":{"w":"种","s":"种","c":{},"d":[22,45,45,49,70,91,91,91,91,91,92,92,92,92,92,109,127,127,147,159,167],"e":true},"二":{"w":"二","s":"二","c":{},"d":[22,22,56,56,56,56,56,79,79,79,79,79,84,84,84,84,84,132,163,163],"e":true},"制":{"w":"制","s":"制","c":{},"d":[22,22,45,45,55,55,55,55,55,56,56,56,56,56,84,84,84,84,84,109,109,118,132,163,163,165,166],"e":true},"您":{"w":"您","s":"您","c":{},"d":[22,22,22,22,22,22,22,22,36,37,39,127,127,127,127,147,147,147,147,148,148,148,148],"e":true},"自":{"w":"自","s":"自","c":{},"d":[22,22,43,45,45,45,101,101,101,101,101,101,101,101,101,101,109,143,148,148],"e":true},"编":{"w":"编","s":"编","c":{},"d":[22,22,26,26,36,49,49,49,49,49,49,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,84,84,84,84,84,87,87,87,87,87,91,91,91,91,91,92,92,92,92,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,132,139,163],"e":true},"译":{"w":"译","s":"译","c":{},"d":[22,22,26,26,36,132,139,163],"e":true},"或":{"w":"或","s":"或","c":{},"d":[22,22,37,44,44,45,56,56,56,56,56,59,59,70,70,70,70,70,73,73,73,73,73,77,77,77,77,80,80,93,93,103,103,103,103,103,103,103,103,103,103,109,114,114,114,114,140,159],"e":true},"官":{"w":"官","s":"官","c":{},"d":[22,22,25,137,161],"e":true},"发":{"w":"发","s":"发","c":{},"d":[22,22,22,22,22,22,22,22,25,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,53,53,53,53,53,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,69,69,69,69,69,71,79,79,79,79,79,91,91,91,91,91,109,109,109,109,109,109,109,112,112,112,112,112,115,123,129,130,130,130,130,130,130,130,130,130,130,136,137,145,147,147,147,155,161],"e":true},"布":{"w":"布","s":"布","c":{},"d":[22,22,22,22,22,22,22,25,44,44,44,44,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,91,91,91,91,91,137,161],"e":true},"镜":{"w":"镜","s":"镜","c":{},"d":[22,22,22,22,22,22,22,22,25,25,36,129,129,137,137,161,161],"e":true},"像":{"w":"像","s":"像","c":{},"d":[22,22,22,22,22,22,22,22,25,25,36,129,129,137,137,161,161],"e":true},"封":{"w":"封","s":"封","c":{},"d":[22,22,22,22,22,22,22,22,22,22,48,139],"e":true},"装":{"w":"装","s":"装","c":{},"d":[22,22,22,22,22,22,22,22,22,22,28,28,29,29,37,48,139],"e":true},"基":{"w":"基","s":"基","c":{},"d":[22,22,22,22,22,22,22,22,22,22,41,41,41,41,41,41,41,41,42,42,42,42,43,44,45,47,47,47,48,49,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,101,101,101,101,101,102,115,115,115,115,115,115,115,115,116,123,127,127,139,149,155,157,159,164],"e":true},"础":{"w":"础","s":"础","c":{},"d":[22,22,22,22,22,42,47],"e":true},"上":{"w":"上","s":"上","c":{},"d":[22,22,22,22,22,42,42,45,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,91,91,91,91,91,109,111,111,111,111,111,127,127,127,137,157,161,166],"e":true},"步":{"w":"步","s":"步","c":{},"d":[22,22,22,22,22,42,42,42,49,127,127,127,139,139],"e":true},"提":{"w":"提","s":"提","c":{},"d":[22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,25,39,42,42,44,45,47,47,48,49,49,56,56,56,56,56,56,70,70,70,70,70,102,102,102,102,102,118,127,127,129,129,139,139,139,140,142,142,142,142,142,142,142,143,143,145,147,148,148,148,148,148,148,148,148,148],"e":true},"供":{"w":"供","s":"供","c":{},"d":[22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,25,42,45,48,49,56,56,56,56,56,56,102,102,102,102,102,118,127,127,129,129,139,139,139,140,142,142,142,142,142,142,142,143,143,145,147,148,148,148,148,148,148,148,148,148],"e":true},"易":{"w":"易","s":"易","c":{},"d":[22,22,22,22,22],"e":true},"应":{"w":"应","s":"应","c":{},"d":[22,22,42,42,42,42,45,45,47,47,47,47,47,47,47,47,48,48,48,48,48,49,67,67,67,67,67,67,67,67,67,67,72,72,72,72,72,72,72,72,72,72,92,92,92,92,92,104,104,104,104,104,104,109,109,118,127,127,143,145,145,145,145,147,147,148],"e":true},"成":{"w":"成","s":"成","c":{},"d":[22,22,22,22,22,42,42,42,42,42,45,45,47,48,48,48,48,48,48,49,49,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,67,67,67,67,67,72,72,72,72,72,79,79,79,79,79,92,92,92,92,92,109,117,118,127,139,139,140,140,143,143,143,143,145,145,147,150,151],"e":true},"此":{"w":"此","s":"此","c":{},"d":[22,22,22,22,22,22,45,45,45,45,71,109,109,109,109,109,109,109,109,127,127,127,127,127,141,141,143,143,143,146,147,147,147],"e":true},"组":{"w":"组","s":"组","c":{},"d":[22,22,22,22,22,29,29,29,56,56,56,56,56,56,56,56,56,56,109,118,118,127],"e":true},"我":{"w":"我","s":"我","c":{},"d":[22,25,38,39,43,43,44,45,45,45,45,45,56,115,117,118,118,118,118,119,120,122,123,127,127,127,127,129,137,139,139,139,142,145,146,147,147,147,148,148,150,151,152,155,159,161,166,167],"e":true},"们":{"w":"们","s":"们","c":{},"d":[22,25,38,39,43,43,44,45,45,45,45,45,45,45,56,115,117,118,118,118,118,119,120,122,123,127,127,127,127,129,137,139,139,139,142,145,146,147,147,147,148,148,150,151,152,155,159,161,166,167],"e":true},"正":{"w":"正","s":"正","c":{},"d":[22,42,45,48,48,48,48,48,109,115,136],"e":true},"开":{"w":"开","s":"开","c":{},"d":[22,42,49,49,77,77,77,77,109,109,109,109,115,136,141,141,145,147,147,147,147,147],"e":true},"并":{"w":"并","s":"并","c":{},"d":[22,39,43,43,43,43,43,43,43,43,43,43,44,44,45,45,45,45,45,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,91,91,91,91,91,109,109,117,127,143,146,147,148,148,150,159,160],"e":true},"推":{"w":"推","s":"推","c":{},"d":[22,22,22,22,22,22,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,49,115,147,147,159],"e":true},"荐":{"w":"荐","s":"荐","c":{},"d":[22,22,22,22,22,22,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,49,115,147,147,159],"e":true},"解":{"w":"解","s":"解","c":{},"d":[22,22,22,22,22,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,91,91,91,91,91,127],"e":true},"析":{"w":"析","s":"析","c":{},"d":[22,22,22,22,22],"e":true},"所":{"w":"所","s":"所","c":{},"d":[22,22,22,22,22,42,44,44,48,48,48,48,67,67,67,67,67,69,70,70,70,70,70,72,72,72,72,72,73,73,73,73,73,79,79,79,79,79,84,84,84,84,84,87,87,87,87,87,101,101,101,101,101,101,109,111,111,111,111,111,111,111,111,111,111,127,139,145,147,166],"e":true},"有":{"w":"有","s":"有","c":{},"d":[22,22,22,22,22,42,44,44,45,45,45,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,59,59,59,59,59,59,59,59,59,59,67,67,67,67,67,69,70,71,72,72,72,72,72,73,73,73,73,73,77,77,78,78,78,78,78,79,79,79,79,79,80,80,80,80,80,80,80,80,80,80,80,80,84,84,84,84,84,87,87,87,87,87,91,91,91,91,91,93,93,93,93,93,93,93,93,93,93,93,93,101,101,101,101,101,101,111,111,111,111,111,111,111,111,111,111,114,114,114,114,127,127,127,130,130,130,130,130,130,130,130,130,130,137,142,145,145,145,147,147,147,147,147,161,166,167],"e":true},"合":{"w":"合","s":"合","c":{},"d":[22,22,22,22,22,42,42,42,42,42,42,42,42,42,43,43,43,44,44,44,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,56,56,56,56,56,92,92,92,92,92,92,92,92,92,92,109,117,118,127,147,148,148,150,158],"e":true},"法":{"w":"法","s":"法","c":{},"d":[22,22,22,22,22,42,42,42,45,45,48,48,48,48,48,48,48,48,48,48,49,49,49,49,84,84,84,84,84,87,87,87,87,87,89,89,89,89,89,91,92,127,127,147,157],"e":true},"力":{"w":"力","s":"力","c":{},"d":[22,22,22,22,22,159],"e":true},"暂":{"w":"暂","s":"暂","c":{},"d":[22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,44],"e":true},"已":{"w":"已","s":"已","c":{},"d":[22,22,22,22,22,22,22,22,22,22,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,43,43,91,91,91,91,91,100,100,100,100,100,100,103,115,115,115,115],"e":true},"未":{"w":"未","s":"未","c":{},"d":[22,22,22,22,22,55,55,55,55,55,64,64,64,64,64,65,65,65,65,65,67,67,67,67,67,68,68,68,68,68,72,72,72,72,72,127,143],"e":true},"绑":{"w":"绑","s":"绑","c":{},"d":[22,22,22,22,22],"e":true},"请":{"w":"请","s":"请","c":{},"d":[25,26,28,29,31,32,33,37,39,43,43,45,45,45,56,56,56,56,56,56,59,59,59,59,80,80,80,80,93,93,93,93,94,94,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,109,109,114,114,114,114,118,120,122,127,127,127,130,130,130,130,130,130,130,130,130,130,130,133,134,134,137,139,141,142,142,142,142,143,143,144,159,160,160,161],"e":true},"看":{"w":"看","s":"看","c":{},"d":[25,33,37,56,94,94,130,133,137,144,147,147,161],"e":true},"也":{"w":"也","s":"也","c":{},"d":[25,129,137,142,145,147,161],"e":true},"阿":{"w":"阿","s":"阿","c":{},"d":[25,129,137,161],"e":true},"云":{"w":"云","s":"云","c":{},"d":[25,129,137,161],"e":true},"参":{"w":"参","s":"参","c":{},"d":[26,28,29,31,31,31,31,31,31,32,42,42,42,42,42,45,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,55,55,55,55,56,56,56,56,56,70,70,70,70,70,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,85,86,87,87,87,87,87,87,87,87,87,87,88,91,91,91,91,91,101,101,101,101,101,101,101,101,101,101,101,102,102,102,102,102,102,109,109,109,109,109,118,118,118,119,127,127,127,127,130,134,134,139,139,139,139,142,142,142,142,142,143,159,159,159,159,159,160,166],"e":true},"考":{"w":"考","s":"考","c":{},"d":[26,28,29,31,31,31,31,31,31,32,42,42,42,42,42,48,48,48,48,48,127,127,130,134,134,139,139,160],"e":true},"档":{"w":"档","s":"档","c":{},"d":[26,28,29,116,139,142,149,159,160,160],"e":true},"说":{"w":"说","s":"说","c":{},"d":[26,26,29,29,53,53],"e":true},"明":{"w":"明","s":"明","c":{},"d":[26,26,29,29,48,48,48,48,48,48,48,48,48,48,48,53,53],"e":true},"安":{"w":"安","s":"安","c":{},"d":[28,28,29,29,37,42,45,47,49,147,147,147,159,159],"e":true},"南":{"w":"南","s":"南","c":{},"d":[28,28],"e":true},"w":{"w":"w","s":"w","c":{"w":{"w":"www","s":"ww","c":{},"d":[28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,31,31,31,31,31,31,31,31,31,31,31,31,42,42,42,42,42,42,42,42,42,42,42,42,50,50,50,50,50,50,91,91,91,91,91,91],"e":true},"i":{"w":"wi","s":"i","c":{"t":{"w":"with","s":"th","c":{},"d":[50,50,50,50,50,50,76,76,76,76,76],"e":true},"s":{"w":"wisely","s":"sely","c":{},"d":[109],"e":true}},"d":[],"e":false},"a":{"w":"wa","s":"a","c":{"n":{"w":"wang","s":"ng","c":{},"d":[50,50,50,50],"e":true},"r":{"w":"warn","s":"rn","c":{"i":{"w":"warning","s":"ing","c":{},"d":[55,55,55,55,55,56,56,56,56,56],"e":true}},"d":[63,63],"e":true}},"d":[50,50],"e":true},"e":{"w":"we","s":"e","c":{"i":{"w":"wei","s":"i","c":{},"d":[50,50],"e":true},"n":{"w":"weng","s":"ng","c":{},"d":[50,50],"e":true},"l":{"w":"well","s":"ll","c":{},"d":[142],"e":true}},"d":[142],"e":true},"o":{"w":"wo","s":"o","c":{"l":{"w":"wolverine","s":"lverine","c":{},"d":[50,50],"e":true},"n":{"w":"wondershaper","s":"ndershaper","c":{},"d":[166,166],"e":true}},"d":[],"e":false}},"d":[],"e":false},"o":{"w":"o","s":"o","c":{"r":{"w":"or","s":"r","c":{"g":{"w":"org","s":"g","c":{},"d":[28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,31,31,31,31,31,31,31,31,31,31,31,31,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,76,76,76,76,76,76,76,76,76,76,76,76,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92],"e":true},"d":{"w":"order","s":"der","c":{},"d":[50,50],"e":true},"i":{"w":"original_","s":"iginal_","c":{"c":{"w":"original_count","s":"count","c":{},"d":[89,89,89,89,89],"e":true},"k":{"w":"original_key_count","s":"key_count","c":{},"d":[89,89,89,89,89],"e":true}},"d":[],"e":false}},"d":[],"e":false},"p":{"w":"op","s":"p","c":{"e":{"w":"ope","s":"e","c":{"r":{"w":"operators","s":"rators","c":{},"d":[31,31,31,31,31,31,31,31,31,31,31,31],"e":true},"n":{"w":"openssl","s":"nssl","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42],"e":true}},"d":[],"e":false},"r":{"w":"oprf","s":"rf","c":{"s":{"w":"oprfs","s":"s","c":{},"d":[50,50],"e":true}},"d":[44,44,44,44,44,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,50,84,84,84,84,84,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,159,159,159,159,159,159],"e":true},"t":{"w":"optional","s":"tional","c":{"p":{"w":"optionalprotocol","s":"protocol","c":{},"d":[103,103],"e":true}},"d":[103,103,103,103,103,103,103,103],"e":true}},"d":[],"e":false},"t":{"w":"ot","s":"t","c":{},"d":[41,41,42,44,49,50,50,50,50,50,50],"e":true},"k":{"w":"okvs","s":"kvs","c":{},"d":[49,49,49,50,50],"e":true},"l":{"w":"ole","s":"le","c":{},"d":[50,50,50,50,50,50],"e":true},"c":{"w":"oct","s":"ct","c":{"o":{"w":"october","s":"ober","c":{},"d":[50,50,50,50],"e":true}},"d":[50,50,50,50],"e":true},"n":{"w":"on","s":"n","c":{"l":{"w":"online","s":"line","c":{},"d":[79,79,79,79,79],"e":true},"e":{"w":"oneof","s":"eof","c":{},"d":[97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97],"e":true}},"d":[50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,76,76,76,76,76],"e":true},"f":{"w":"of","s":"f","c":{"f":{"w":"off","s":"f","c":{"l":{"w":"offline","s":"line","c":{},"d":[79,79,79,79,79,79,79,79,79,79,79,79,79,79,79],"e":true}},"d":[55,55,55,55,55,56,56,56,56,56,63,63],"e":true}},"d":[50,50,50,50,50,50,50,50,50,50,76,76,76,76,76,114,114],"e":true},"b":{"w":"oblivious","s":"blivious","c":{},"d":[50,50,50,50,50,50,76,76,76,76,76],"e":true},"v":{"w":"ov","s":"v","c":{"e":{"w":"over","s":"er","c":{},"d":[50,50],"e":true}},"d":[56,56],"e":true},"u":{"w":"output","s":"utput","c":{"_":{"w":"output_","s":"_","c":{"f":{"w":"output_file","s":"file","c":{},"d":[55,55,55,55,55],"e":true},"c":{"w":"output_config","s":"config","c":{},"d":[70,70,70,70,70,73,73,73,73,73],"e":true},"a":{"w":"output_attr","s":"attr","c":{},"d":[70,70,70,70,70,73,73,73,73,73],"e":true},"p":{"w":"output_params","s":"params","c":{},"d":[84,84,84,84,84],"e":true}},"d":[],"e":false},"a":{"w":"outputattr","s":"attr","c":{},"d":[61,61,61,61,61,70,70,70,70,70,70,73,73,73,73,73,73],"e":true},"p":{"w":"outputparams","s":"params","c":{"p":{"w":"outputparamspsi","s":"psi","c":{},"d":[84,84,84],"e":true}},"d":[82,82,82,82,82,84,84,84],"e":true}},"d":[],"e":false},"s":{"w":"oss","s":"ss","c":{},"d":[75],"e":true},"a":{"w":"oakland","s":"akland","c":{},"d":[76,76,76,76,76],"e":true},"w":{"w":"own","s":"wn","c":{},"d":[78,78,78,78,78],"e":true}},"d":[49],"e":true},"z":{"w":"z","s":"z","c":{"h":{"w":"zh","s":"h","c":{},"d":[28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29],"e":true},"i":{"w":"zi","s":"i","c":{},"d":[43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43],"e":true},"_":{"w":"z_i","s":"_i","c":{},"d":[43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43],"e":true},"o":{"w":"zohner","s":"ohner","c":{},"d":[50,50],"e":true},"e":{"w":"zero","s":"ero","c":{},"d":[50,50],"e":true}},"d":[43,43,43,43,43,43,43,43,50,50],"e":true},"弃":{"w":"弃","s":"弃","c":{},"d":[29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,115,115,115,115],"e":true},"列":{"w":"列","s":"列","c":{},"d":[29,29,29,45,45,45,45,49,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,80,80,93,93,102,102,102,102,102,104,104,104,104,104,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,141,141,141,141,141,141,141,141],"e":true},"快":{"w":"快","s":"快","c":{},"d":[31,31,42,92,92,92,92,92,115,115,115,115,115,115,115,115,115,115,115,115,135,158],"e":true},"速":{"w":"速","s":"速","c":{},"d":[31,31,42,91,91,91,91,91,92,92,92,92,92,115,115,115,115,115,115,115,115,115,115,115,115,135,158],"e":true},"门":{"w":"门","s":"门","c":{},"d":[31,31,115,115,115,115,115,115,115,115,115,115,115,115,135,158],"e":true},"教":{"w":"教","s":"教","c":{},"d":[31,31],"e":true},"程":{"w":"程","s":"程","c":{},"d":[31,31,43,45,45,45,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,127,147,166,166],"e":true},"算":{"w":"算","s":"算","c":{},"d":[31,31,31,31,31,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,44,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,56,56,56,56,56,84,84,84,84,84,87,87,87,87,87,91,92,127,135,147,159],"e":true},"子":{"w":"子","s":"子","c":{},"d":[31,31,31,31,31,42,85,85,85,85,85,109,145,145,145,145],"e":true},"手":{"w":"手","s":"手","c":{},"d":[32,32,159,159,159,159,159,159,159,159,159,159],"e":true},"册":{"w":"册","s":"册","c":{},"d":[32,32],"e":true},"需":{"w":"需","s":"需","c":{},"d":[37,42,42,43,44,45,48,48,48,48,55,55,55,55,55,56,56,56,56,56,84,84,84,84,84,86,86,86,86,86,87,87,87,87,87,109,109,118,118,118,120,122,127,127,130,142,143,144,147,148,148,151],"e":true},"要":{"w":"要","s":"要","c":{},"d":[37,42,42,45,45,47,48,48,48,48,48,48,48,48,55,55,55,55,55,56,56,56,56,56,84,84,84,84,84,87,87,87,87,87,109,109,118,118,118,120,122,127,127,127,130,130,134,139,142,143,148,151,160],"e":true},"依":{"w":"依","s":"依","c":{},"d":[37,49],"e":true},"赖":{"w":"赖","s":"赖","c":{},"d":[37,49],"e":true},"g":{"w":"g","s":"g","c":{"c":{"w":"gc","s":"c","c":{"c":{"w":"gcc","s":"c","c":{},"d":[37,37],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42],"e":true},"o":{"w":"golang","s":"olang","c":{},"d":[37,37],"e":true},"i":{"w":"gi","s":"i","c":{"t":{"w":"github","s":"thub","c":{},"d":[39,39,42,42,42,42,42,42,50,50,50,50,50,50,56,56,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,142,142,142,147,147],"e":true},"l":{"w":"gilboa","s":"lboa","c":{},"d":[50,50,50,50,50,50,50,50,50,50],"e":true}},"d":[],"e":false},"a":{"w":"ga","s":"a","c":{"b":{"w":"gab","s":"b","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42],"e":true},"m":{"w":"gam","s":"m","c":{"m":{"w":"gamma","s":"ma","c":{},"d":[43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43],"e":true},"a":{"w":"gama","s":"a","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"s":{"w":"gas","s":"s","c":{"t":{"w":"gasti","s":"ti","c":{},"d":[50,50],"e":true},"c":{"w":"gascón","s":"cón","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"t":{"w":"gattaca","s":"ttaca","c":{},"d":[50,50],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42],"e":true},"b":{"w":"gb","s":"b","c":{"t":{"w":"gbt","s":"t","c":{},"d":[91,91,91,91,91],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42],"e":true},"e":{"w":"ge","s":"e","c":{"t":{"w":"gets","s":"ts","c":{},"d":[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45],"e":true},"o":{"w":"geoffroy","s":"offroy","c":{},"d":[50,50,50,50],"e":true},"n":{"w":"gen","s":"n","c":{"o":{"w":"genomes","s":"omes","c":{},"d":[50,50],"e":true},"e":{"w":"generat","s":"erat","c":{"o":{"w":"generators","s":"ors","c":{},"d":[50,50,50,50],"e":true},"e":{"w":"generate_psi","s":"e_psi","c":{},"d":[151,151,151],"e":true}},"d":[],"e":false},"_":{"w":"gen_db_only","s":"_db_only","c":{},"d":[56,56,56,56,56],"e":true}},"d":[],"e":false}},"d":[],"e":false},"r":{"w":"gr","s":"r","c":{"o":{"w":"groups","s":"oups","c":{},"d":[50,50],"e":true},"p":{"w":"grpc","s":"pc","c":{},"d":[103,103,103,103,103],"e":true}},"d":[],"e":false}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,50,50,50,50,50,50,50,50,50,50],"e":true},"n":{"w":"n","s":"n","c":{"1":{"w":"n1","s":"1","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47],"e":true},"2":{"w":"n2","s":"2","c":{},"d":[42,42,42,42,42,42,42,42,42,42,47,47,47,47,47,47,47,47,47,47],"e":true},"i":{"w":"ni","s":"i","c":{"n":{"w":"ninja","s":"nja","c":{},"d":[37,37],"e":true},"v":{"w":"niv","s":"v","c":{},"d":[50,50],"e":true},"c":{"w":"nicolas","s":"colas","c":{},"d":[50,50],"e":true}},"d":[44,44],"e":true},"a":{"w":"na","s":"a","c":{"s":{"w":"nasm","s":"sm","c":{},"d":[37,37],"e":true},"m":{"w":"name","s":"me","c":{"n":{"w":"namenumber","s":"number","c":{},"d":[75,75,75,76,76,76,77,77,77,78,78,78,79,79,79],"e":true}},"d":[75,75,76,76,77,77,78,78,79,79,102,102,102,102,103,103,103,103],"e":true}},"d":[],"e":false},"_":{"w":"n_","s":"_","c":{"1":{"w":"n_1","s":"1","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47],"e":true},"2":{"w":"n_2","s":"2","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47],"e":true}},"d":[],"e":false},"s":{"w":"ns","s":"s","c":{},"d":[48,48,48,48,48],"e":true},"r":{"w":"nr","s":"r","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"o":{"w":"no","s":"o","c":{"n":{"w":"non","s":"n","c":{"c":{"w":"nonce_byte_count","s":"ce_byte_count","c":{},"d":[56,56,56,56,56],"e":true},"e":{"w":"none","s":"e","c":{},"d":[89,89,89,89,91,91,92,92,92,92,92,92],"e":true}},"d":[50,50,50,50],"e":true},"v":{"w":"nov","s":"v","c":{"e":{"w":"november","s":"ember","c":{},"d":[50,50,50,50,50,50],"e":true}},"d":[50,50],"e":true},"t":{"w":"not","s":"t","c":{"e":{"w":"notes","s":"es","c":{"c":{"w":"notesc","s":"c","c":{},"d":[114,114,114],"e":true}},"d":[114,114],"e":true}},"d":[142],"e":true}},"d":[],"e":false},"e":{"w":"ne","s":"e","c":{"w":{"w":"new","s":"w","c":{},"d":[50,50],"e":true},"e":{"w":"need_sort","s":"ed_sort","c":{},"d":[88,88,88,88,88],"e":true}},"d":[],"e":false},"u":{"w":"nu","s":"u","c":{"l":{"w":"null","s":"ll","c":{},"d":[68,68,68,68,68],"e":true},"m":{"w":"number","s":"mber","c":{},"d":[75,75,76,76,77,77,78,78,79,79],"e":true}},"d":[],"e":false}},"d":[42,42,42,42,42,42,42,42,42,42,44,44,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50],"e":true},"l":{"w":"l","s":"l","c":{"l":{"w":"lld","s":"ld","c":{},"d":[37,37],"e":true},"i":{"w":"li","s":"i","c":{"b":{"w":"libsodium","s":"bsodium","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42],"e":true},"s":{"w":"lisa","s":"sa","c":{},"d":[50,50],"e":true},"e":{"w":"lie","s":"e","c":{},"d":[50,50],"e":true},"u":{"w":"liu","s":"u","c":{},"d":[50,50],"e":true},"n":{"w":"lin","s":"n","c":{"e":{"w":"line","s":"e","c":{},"d":[56,56],"e":true},"k":{"w":"link","s":"k","c":{"_":{"w":"link_config","s":"_config","c":{},"d":[97,97,97,97],"e":true}},"d":[97,97,97,97,97,97,97,139,139,147,147,147,147],"e":true}},"d":[],"e":false}},"d":[],"e":false},"o":{"w":"lo","s":"o","c":{"g":{"w":"log","s":"g","c":{"_":{"w":"log_","s":"_","c":{"f":{"w":"log_file","s":"file","c":{},"d":[55,55,55,55,55,56,56,56,56,56],"e":true},"l":{"w":"log_level","s":"level","c":{},"d":[55,55,55,55,55,56,56,56,56,56],"e":true}},"d":[],"e":false},"g":{"w":"logging","s":"ging","c":{"_":{"w":"logging_level","s":"_level","c":{},"d":[63,63,63,63,63],"e":true}},"d":[70,70,73,73],"e":true}},"d":[48,48,48,48,48,48,48,48,48,48],"e":true},"n":{"w":"long","s":"ng","c":{"a":{"w":"longa","s":"a","c":{},"d":[50,50],"e":true}},"d":[59,59,59,59,59,59,59,59,59,59,59,59,80,80,80,80,80,80,80,80,80,80,80,80,93,93,93,93,93,93,93,93,93,93,93,93,114,114,114,114,114,114,114,114,114,114,114,114],"e":true},"w":{"w":"low_comm_mode","s":"w_comm_mode","c":{},"d":[72,72,72,72,72],"e":true},"c":{"w":"local","s":"cal","c":{},"d":[103,103,103,103,103,103,103,103,103,103],"e":true}},"d":[],"e":false},"p":{"w":"lpn","s":"pn","c":{},"d":[49,49,50,50,50,50],"e":true},"d":{"w":"ldpc","s":"dpc","c":{},"d":[49,50,50],"e":true},"e":{"w":"le","s":"e","c":{"f":{"w":"left","s":"ft","c":{"a":{"w":"leftarrow","s":"arrow","c":{},"d":[49,49,49,49,49,49,49,49],"e":true},"_":{"w":"left_side","s":"_side","c":{},"d":[70,70,70,70,70,73,73,73,73,73],"e":true}},"d":[70,70,77,77,147],"e":true},"v":{"w":"level","s":"vel","c":{},"d":[70,70,70,70,70,73,73,73,73,73],"e":true},"g":{"w":"legacy_psi_config","s":"gacy_psi_config","c":{},"d":[97,97,97,97,97,160,160],"e":true}},"d":[],"e":false},"n":{"w":"lncs","s":"ncs","c":{},"d":[50,50,50,50,50,50],"e":true},"a":{"w":"la","s":"a","c":{"i":{"w":"laine","s":"ine","c":{},"d":[50,50,50,50,50,50],"e":true},"b":{"w":"labeled","s":"beled","c":{},"d":[50,50,50,50],"e":true},"u":{"w":"launchconfig","s":"unchconfig","c":{},"d":[95,95,95,95,95,106,106,106,106,106,106,106],"e":true}},"d":[],"e":false}},"d":[49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50],"e":true},"对":{"w":"对","s":"对","c":{},"d":[37,40,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,44,44,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,56,56,56,56,56,56,56,56,56,56,59,59,59,59,70,70,70,70,70,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,78,78,78,78,78,78,78,78,78,78,80,80,80,80,88,88,88,88,88,93,93,93,93,102,102,102,102,102,104,104,104,104,104,104,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,112,112,112,112,112,114,114,114,114,118,120,122,127,139,140,142,142,145,145,145,145,145,145,147,148,148,159],"e":true},"者":{"w":"者","s":"者","c":{},"d":[37,45,45,47,47,84,84,84,84,84,87,87,87,87,87,109,140],"e":true},"测":{"w":"测","s":"测","c":{},"d":[38,45,115,115,115,115,115,115,115,115,116,123,127,127,127,127,127,149,155,155,157,157,164],"e":true},"反":{"w":"反","s":"反","c":{},"d":[39],"e":true},"馈":{"w":"馈","s":"馈","c":{},"d":[39],"e":true},"会":{"w":"会","s":"会","c":{},"d":[39,43,45,48,48,48,48,55,55,55,55,55,56,56,56,56,56,67,67,67,67,67,71,72,72,72,72,72,77,77,77,77,77,77,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,109,111,111,111,111,111,140,142,142,142,143,145,145,145,145,145,147,148,167],"e":true},"及":{"w":"及","s":"及","c":{},"d":[39,42,42,92,92,92,92,92,142,146],"e":true},"跟":{"w":"跟","s":"跟","c":{},"d":[39],"e":true},"回":{"w":"回","s":"回","c":{},"d":[39,45,45,49,89,89,89,89,89],"e":true},"原":{"w":"原","s":"原","c":{},"d":[40,45,56,73,73,73,73,73,78,78,78,78,78,127,142],"e":true},"设":{"w":"设","s":"设","c":{},"d":[40,42,42,42,43,43,45,48,48,48,48,48,48,48,48,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,67,67,67,67,67,67,67,67,67,67,70,70,70,70,70,70,70,70,70,70,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,109,112,112,112,112,112,112,112,112,112,112,127,127,127,137,140,143,145,145,145,147,148,148,148,148,148,148,159,161],"e":true},"计":{"w":"计","s":"计","c":{},"d":[40,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,44,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,56,56,56,56,56,147,159,159,164],"e":true},"比":{"w":"比","s":"比","c":{},"d":[40,42,42,42,42,43,43,44,44,47,47,47,47,49,49,59,59,59,59,59,59,59,59,80,80,80,80,80,80,80,80,93,93,93,93,114,114,114,114,114,114,114,114,114,114,127],"e":true},"高":{"w":"高","s":"高","c":{},"d":[40,42,42,45,48,49,49,49,59,59,59,59,77,80,80,80,80,91,91,91,91,91,92,92,92,92,92,93,93,93,93,93,93,93,93,114,114,114,114,114,114,114,114,114,114,127],"e":true},"主":{"w":"主","s":"主","c":{},"d":[40],"e":true},"介":{"w":"介","s":"介","c":{},"d":[40,40,40,40,47,116,149,159,159],"e":true},"绍":{"w":"绍","s":"绍","c":{},"d":[40,40,40,40,47,116,149,159,159],"e":true},"半":{"w":"半","s":"半","c":{},"d":[41,41,41,41,41,41,41,41,42,42,44,47,49,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,167],"e":true},"诚":{"w":"诚","s":"诚","c":{},"d":[41,41,41,41,41,41,41,41,42,42,44,47,49,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,167],"e":true},"两":{"w":"两","s":"两","c":{},"d":[41,41,41,41,41,41,42,42,44,44,45,45,47,47,47,47,47,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,123,141,141,155,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159],"e":true},"型":{"w":"型","s":"型","c":{},"d":[41,41,41,41,42,44,45,48,48,49,53,53,53,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,57,57,57,57,57,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,63,63,63,63,63,64,64,64,64,64,65,65,65,65,65,66,66,66,66,66,67,67,67,67,67,68,68,68,68,68,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,71,71,71,71,71,72,72,72,72,72,73,73,73,73,73,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,84,84,84,84,84,84,84,84,84,84,85,85,85,85,85,86,86,86,86,86,87,87,87,87,87,87,87,87,87,87,88,88,88,88,88,89,89,89,89,89,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,109,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,136,136,136,136,136,145,147,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,167,167],"e":true},"三":{"w":"三","s":"三","c":{},"d":[41,41,43,43,44,147],"e":true},"非":{"w":"非","s":"非","c":{},"d":[41,41,45,45,47,48,48,48,78,78,78,78,78,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,134,147,147,147,147],"e":true},"平":{"w":"平","s":"平","c":{},"d":[41,41,42,48,48,48,78,78,78,78,78,134],"e":true},"衡":{"w":"衡","s":"衡","c":{},"d":[41,41,42,48,48,48,78,78,78,78,78,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,118,123,134,151],"e":true},"由":{"w":"由","s":"由","c":{},"d":[42,47,49],"e":true},"其":{"w":"其","s":"其","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,45,47,48,48,48,48,48,48,48,48,48,48,49,49,49,56,56,56,56,56,56,56,56,56,56,73,73,73,73,73,92,92,92,92,92,143,145,159],"e":true},"论":{"w":"论","s":"论","c":{},"d":[42,45],"e":true},"追":{"w":"追","s":"追","c":{},"d":[42,63,63,63,63,63],"e":true},"溯":{"w":"溯","s":"溯","c":{},"d":[42],"e":true},"采":{"w":"采","s":"采","c":{},"d":[42,44,45,45,45,45,45,45,48,48,48,48,49,49,85,85,85,85,85,166],"e":true},"群":{"w":"群","s":"群","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,47],"e":true},"运":{"w":"运","s":"运","c":{},"d":[42,42,42,42,42,42,42,42,42,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,49,49,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,92,92,92,92,92,92,92,92,92,92,117,124,125,131,131,135,147,150,162,162,166],"e":true},"次":{"w":"次","s":"次","c":{},"d":[42,44,45,45,55,55,55,55,55,109,109,109,109,109,111,111,111,111,111,111,111,111,111,111,127],"e":true},"与":{"w":"与","s":"与","c":{},"d":[42,43,43,43,45,45,55,55,55,55,55,55,55,55,55,55,56,69,70,70,70,70,70,84,84,84,84,84,87,87,87,87,87,101,101,101,101,101,101,101,101,101,101,101,102,102,102,102,102,102,102,102,102,102,102,104,104,104,104,104,104,109,109,109,109,109,127,127,127,143,159,159,159,159,159,166],"e":true},"元":{"w":"元","s":"元","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,45,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,67,67,67,67,67,72,72,72,72,72,135,145],"e":true},"素":{"w":"素","s":"素","c":{},"d":[42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,45,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,67,67,67,67,67,72,72,72,72,72,91,91,91,91,91,145],"e":true},"量":{"w":"量","s":"量","c":{},"d":[42,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,53,53,53,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,67,67,67,67,67,72,72,72,72,72,89,89,89,89,89,89,89,89,89,89,109,118,123,127,127,127,136,136,136,136,136,145,151,155,157,159,159,159,159,159],"e":true},"般":{"w":"般","s":"般","c":{},"d":[42],"e":true},"而":{"w":"而","s":"而","c":{},"d":[42,42,42,45,45,45,45,47,47,47,47,47,47,47,47,48,142,142,143,147,147,159],"e":true},"言":{"w":"言","s":"言","c":{},"d":[42,142,142],"e":true},"度":{"w":"度","s":"度","c":{},"d":[42,45,45,48,48,48,48,48,48,48,48,48,48,48,91,91,91,91,91,93,93,93,93,93,93,93,93,93,93,93,93,112,112,112,112,112,114,114,114,114,118,127,127,127,145,148],"e":true},"但":{"w":"但","s":"但","c":{},"d":[42,49,56,56,56,56,56,71,145,147,147],"e":true},"信":{"w":"信","s":"信","c":{},"d":[42,42,43,47,48,48,48,49,49,55,55,55,55,55,92,92,92,92,92,101,101,101,101,101,101,102,109,109,109,109,109,112,112,112,112,112,127,139,139,147,159],"e":true},"销":{"w":"销","s":"销","c":{},"d":[42,49,49,145],"e":true},"某":{"w":"某","s":"某","c":{},"d":[42,45,109,109],"e":true},"些":{"w":"些","s":"些","c":{},"d":[42,45,59,59,59,59,80,80,80,80,93,93,93,93,111,111,111,111,111,111,111,111,111,111,146,148,148],"e":true},"场":{"w":"场","s":"场","c":{},"d":[42],"e":true},"景":{"w":"景","s":"景","c":{},"d":[42],"e":true},"远":{"w":"远","s":"远","c":{},"d":[42,48],"e":true},"假":{"w":"假","s":"假","c":{},"d":[42,42,42,43,43,45,145],"e":true},"骤":{"w":"骤","s":"骤","c":{},"d":[42,127],"e":true},"商":{"w":"商","s":"商","c":{},"d":[42,42,44,44],"e":true},"选":{"w":"选","s":"选","c":{},"d":[42,42,42,42,48,48,48,48,48,55,55,55,55,55,56,56,56,56,56,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,86,86,86,86,86,86,86,86,86,86,87,87,87,87,87,87,87,87,87,87,88,88,88,88,88,109,109,111,112,141,141,142,142,143,145,147],"e":true},"生":{"w":"生","s":"生","c":{},"d":[42,42,45,45,49,49,56,56,56,56,56,56,56,56,56,56,71,79,79,79,79,79,92,92,92,92,92,118,142,143,143,143,143,145,151],"e":true},"随":{"w":"随","s":"随","c":{},"d":[42,42,43,43,43,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,49,56,56,56,56,56,92,92,92,92,92,127],"e":true},"机":{"w":"机","s":"机","c":{},"d":[42,42,43,43,43,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,49,56,56,56,56,56,92,92,92,92,92,112,112,112,112,112,123,155],"e":true},"无":{"w":"无","s":"无","c":{},"d":[42,42,43,44,45,57,57,57,57,57,63,63,63,63,63,64,64,64,64,64,66,66,66,66,66,69,69,69,69,69,69,69,69,69,69,70,70,70,70,70,71,71,71,71,71,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,75,75,75,75,75,76,76,76,76,76,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,78,78,78,78,78,79,79,79,79,79,89,89,89,89,89,97,97,97,97,97,105,105,105,105,105,106,106,106,106,106,106,106,106,106,106,109,109,110,110,110,110,110,110,110,110,110,110,142,147],"e":true},"广":{"w":"广","s":"广","c":{},"d":[42,84,84,84,84,84,87,87,87,87,87],"e":true},"泛":{"w":"泛","s":"泛","c":{},"d":[42],"e":true},"候":{"w":"候","s":"候","c":{},"d":[42],"e":true},"括":{"w":"括","s":"括","c":{},"d":[42,49],"e":true},"限":{"w":"限","s":"限","c":{},"d":[42,48,48,48,48,48,48,48,48,48,48,48,48,67,67,67,67,67,72,72,72,72,72,109,109,109,147,159,159,165,166],"e":true},"域":{"w":"域","s":"域","c":{},"d":[42,48,48,48,48,48,48,48,48,48,48,48,48,63,63,63,63,63,64,64,64,64,64,65,65,65,65,65,66,66,66,66,66,67,67,67,67,67,68,68,68,68,68,69,69,69,69,69,70,70,70,70,70,71,71,71,71,71,72,72,72,72,72,73,73,73,73,73,166,166,166,166,166],"e":true},"乘":{"w":"乘","s":"乘","c":{},"d":[42],"e":true},"椭":{"w":"椭","s":"椭","c":{},"d":[42,42,42,42,42,42,42,42,84,84,84,84,84,87,87,87,87,87,91,91,91,91,91,91,91,91,91,91,91,159],"e":true},"圆":{"w":"圆","s":"圆","c":{},"d":[42,42,42,42,42,42,42,42,84,84,84,84,84,87,87,87,87,87,91,91,91,91,91,91,91,91,91,91,91,159],"e":true},"曲":{"w":"曲","s":"曲","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,84,84,84,84,84,87,87,87,87,87,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,159],"e":true},"线":{"w":"线","s":"线","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,47,47,47,47,47,49,49,49,55,55,55,55,55,56,56,56,56,56,84,84,84,84,84,84,84,84,84,84,87,87,87,87,87,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,109,109,127,143,143,143,143,145,159,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166],"e":true},"践":{"w":"践","s":"践","c":{},"d":[42],"e":true},"精":{"w":"精","s":"精","c":{},"d":[42,45],"e":true},"心":{"w":"心","s":"心","c":{},"d":[42],"e":true},"择":{"w":"择","s":"择","c":{},"d":[42,48,48,48,48,48,86,86,86,86,86,86,86,86,86,86,88,88,88,88,88,142,145,147],"e":true},"间":{"w":"间","s":"间","c":{},"d":[42,47,48,48,48,48,48,48,71,71,71,71,71,71,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,127,147,157,157,164],"e":true},"良":{"w":"良","s":"良","c":{},"d":[42],"e":true},"好":{"w":"好","s":"好","c":{},"d":[42,49],"e":true},"每":{"w":"每","s":"每","c":{},"d":[42,42,42,42,42,42,42,42,44,44,44,44,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,67,67,67,67,67,72,72,72,72,72,78,103,103,103,103,103,145,145,145,145],"e":true},"个":{"w":"个","s":"个","c":{},"d":[42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,59,59,59,59,59,59,59,67,67,67,67,67,67,67,67,67,67,72,72,72,72,72,72,72,72,72,72,80,80,80,80,80,80,80,80,93,93,93,93,93,93,93,93,103,103,103,103,103,109,109,109,109,109,114,114,114,114,114,114,114,114,117,117,123,127,127,131,131,139,139,140,140,142,145,145,145,145,145,145,145,145,148,150,155,162,162],"e":true},"先":{"w":"先","s":"先","c":{},"d":[42,42,42,42,45,45,47,47,47,47,56,56,56,56,56],"e":true},"哈":{"w":"哈","s":"哈","c":{},"d":[42,42,42,42,44,44,44,44,45,45,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,70,70,70,70,70,84,84,84,84,84],"e":true},"希":{"w":"希","s":"希","c":{},"d":[42,42,42,42,44,44,44,44,45,45,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,70,70,70,70,70,84,84,84,84,84,127,147,147],"e":true},"然":{"w":"然","s":"然","c":{},"d":[42,42,42,42,43,43,43,43,45,45,45,45,45,109,124,125,132,139,145,147,163],"e":true},"后":{"w":"后","s":"后","c":{},"d":[42,42,42,42,43,43,43,43,43,43,45,45,45,45,45,45,45,45,45,45,45,45,47,47,47,47,48,48,48,48,56,56,56,56,56,70,109,109,124,125,127,132,136,136,136,136,136,139,140,163],"e":true},"她":{"w":"她","s":"她","c":{},"d":[42,42],"e":true},"密":{"w":"密","s":"密","c":{},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,84,84,84,84,84,84,84,84,84,84,87,87,87,87,87,91,91,91,91,91,91,91,91,91,91,91,127,135],"e":true},"钥":{"w":"钥","s":"钥","c":{},"d":[42,42,42,42,42,42,42,42,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,84,84,84,84,84,112,112,112,112,112,148,148],"e":true},"从":{"w":"从","s":"从","c":{},"d":[42,42,42,42,42,42,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,141,141],"e":true},"_":{"w":"_","s":"_","c":{"s":{"w":"_sm2","s":"sm2","c":{},"d":[42,42],"e":true},"i":{"w":"_iso","s":"iso","c":{},"d":[42,42],"e":true},"t":{"w":"_t","s":"t","c":{"f":{"w":"_tft","s":"ft","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true}},"d":[48,48,48,48,48,48,48,48],"e":true},"b":{"w":"_bits","s":"bits","c":{},"d":[48,48,48,48,48],"e":true}},"d":[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,44,44,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,142,142,142,147],"e":true},"送":{"w":"送","s":"送","c":{},"d":[42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,53,53,53,53,53,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,69,69,69,69,69,109,109,109,109,109,109,109,123,130,130,130,130,130,145,147,147,147,155],"e":true},"给":{"w":"给","s":"给","c":{},"d":[42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,44,44,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,49,49,49,49,56,56,56,56,56,69,69,69,69,69,77,77,77,77,79,79,79,79,79,84,84,84,84,84,87,87,87,87,87],"e":true},"到":{"w":"到","s":"到","c":{},"d":[42,42,42,42,42,42,42,42,42,42,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,71,109,109,109,109,109,109,109,109,109,109,109,117,118,118,127,127,147,147,147,150,167],"e":true},"得":{"w":"得","s":"得","c":{},"d":[42,42,42,42,42,42,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,78,78,78,78,78,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,127,167],"e":true},"处":{"w":"处","s":"处","c":{},"d":[42,42,45,45,45,45,45,45,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,56,56,56,56,84,84,84,84,84,92,92,92,92,92,92,92,92,92,92,109,147],"e":true},"较":{"w":"较","s":"较","c":{},"d":[42,42,43,43,44,44,44,45,47,47,47,47,49,49,67,67,67,67,67,67,67,67,67,67,72,72,72,72,72,72,72,72,72,72,109,114,114,114,114],"e":true},"块":{"w":"块","s":"块","c":{},"d":[42,109,109,109],"e":true},"标":{"w":"标","s":"标","c":{},"d":[42,42,42,42,42,42,42,42,42,42,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,53,53,53,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,118,127,127,141,141],"e":true},"准":{"w":"准","s":"准","c":{},"d":[42,42,42,42,42,42,42,42,42,42,45,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,115,115,115,115,115,115,115,115,116,123,127,127,130,149,155,157,164],"e":true},"t":{"w":"t","s":"t","c":{"a":{"w":"ta","s":"a","c":{"b":{"w":"tab","s":"b","c":{"l":{"w":"table","s":"le","c":{"p":{"w":"tableparams","s":"params","c":{},"d":[48,48,48,48,48,48,48],"e":true},"_":{"w":"table_size","s":"_size","c":{},"d":[48,48,48,48,48],"e":true}},"d":[],"e":false}},"d":[56,56],"e":true},"d":{"w":"tad","s":"d","c":{},"d":[50,50],"e":true},"n":{"w":"tanguy","s":"nguy","c":{},"d":[50,50],"e":true},"s":{"w":"taskinputconfig","s":"skinputconfig","c":{},"d":[95,95,95,95,95,95,95,95,95,95,105,105,105,105,105,105],"e":true}},"d":[],"e":false},"w":{"w":"two","s":"wo","c":{},"d":[50,50,50,50],"e":true},"s":{"w":"tsudik","s":"sudik","c":{},"d":[50,50],"e":true},"e":{"w":"te","s":"e","c":{"s":{"w":"testing","s":"sting","c":{},"d":[50,50],"e":true},"x":{"w":"text","s":"xt","c":{},"d":[145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145],"e":true}},"d":[],"e":false},"h":{"w":"th","s":"h","c":{"u":{"w":"thuraisingham","s":"uraisingham","c":{},"d":[50,50],"e":true},"e":{"w":"the","s":"e","c":{},"d":[50,50,50,50,50,50,76,76,76,76,76,142],"e":true},"i":{"w":"thi","s":"i","c":{"r":{"w":"third","s":"rd","c":{},"d":[50,50,76,76,76,76,76],"e":true},"s":{"w":"this","s":"s","c":{},"d":[51,109],"e":true}},"d":[],"e":false},"r":{"w":"thr","s":"r","c":{"e":{"w":"threads","s":"eads","c":{},"d":[55,55,55,55,55,56,56,56,56,56],"e":true},"o":{"w":"throttle_window_size","s":"ottle_window_size","c":{},"d":[109],"e":true}},"d":[],"e":false}},"d":[],"e":false},"r":{"w":"tr","s":"r","c":{"a":{"w":"tra","s":"a","c":{"n":{"w":"trans","s":"ns","c":{"f":{"w":"transfer","s":"fer","c":{},"d":[50,50],"e":true},"a":{"w":"transactions","s":"actions","c":{},"d":[50,50],"e":true}},"d":[],"e":false},"c":{"w":"trace","s":"ce","c":{"_":{"w":"trace_path","s":"_path","c":{},"d":[63,63,63,63,63],"e":true}},"d":[63,63,63,63,63,63,63],"e":true}},"d":[],"e":false},"u":{"w":"tru","s":"u","c":{"s":{"w":"trust","s":"st","c":{},"d":[50,50],"e":true},"e":{"w":"true","s":"e","c":{},"d":[56,56,56,56,56,70,70,70,70,70,73,73,73,73,73,73,73,73,73,73,147],"e":true}},"d":[],"e":false},"i":{"w":"trieu","s":"ieu","c":{},"d":[50,50],"e":true},"e":{"w":"tree","s":"ee","c":{},"d":[134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,142,142,142],"e":true}},"d":[],"e":false},"o":{"w":"to","s":"o","c":{"p":{"w":"tops","s":"ps","c":{},"d":[50,50],"e":true},"d":{"w":"todo","s":"do","c":{},"d":[75],"e":true}},"d":[50,50,76,76,76,76,76,142,142,142,148,148],"e":true},"i":{"w":"titouan","s":"itouan","c":{},"d":[50,50],"e":true},"y":{"w":"type","s":"ype","c":{"s":{"w":"types","s":"s","c":{},"d":[61,61,61,75,82,82,82,95,95,95],"e":true}},"d":[66,66,66,66,66,97,97,100,100,101,101,102,102,103,103,104,104,105,105,106,106,109,109,110,110,111,111,112,112],"e":true},"m":{"w":"tmp","s":"mp","c":{},"d":[63,63,63,63,63,118,118,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130],"e":true}},"d":[42,42,42,42,42,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,50,50,50],"e":true},"研":{"w":"研","s":"研","c":{},"d":[43,48],"e":true},"知":{"w":"知","s":"知","c":{},"d":[43,45,145,145],"e":true},"息":{"w":"息","s":"息","c":{},"d":[43,48,48,82,82,101,101,101,101,101,101,102,109,109,109,127,147,159],"e":true},"泄":{"w":"泄","s":"泄","c":{},"d":[43,43,45,45,77,77,77,77,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,159],"e":true},"风":{"w":"风","s":"风","c":{},"d":[43,45],"e":true},"险":{"w":"险","s":"险","c":{},"d":[43,45],"e":true},"谨":{"w":"谨","s":"谨","c":{},"d":[43],"e":true},"慎":{"w":"慎","s":"慎","c":{},"d":[43],"e":true},"最":{"w":"最","s":"最","c":{},"d":[43,43,43,45,45,45,48,48,48,48,48,48,49,71,109,109,109,109,111,111,111,111,111,111,111,111,111,111,112,112,112,112,112,118,127,127,127,167],"e":true},"终":{"w":"终","s":"终","c":{},"d":[43,45,45,45,59,59,59,59,59,59,59,59,59,59,70,70,70,70,70,78,78,78,78,78,80,80,80,80,80,80,80,80,80,80,93,93,114,114,114,114,114,114,114,114,114,114,131,131,162,162,167],"e":true},"外":{"w":"外","s":"外","c":{},"d":[43,55,55,55,55,55,71,71,73,73,73,73,73,78,78,78,78,78,102,102,102,102,102,111,111,111,111,111,127,127],"e":true},"据":{"w":"据","s":"据","c":{},"d":[43,43,44,45,45,49,49,49,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,63,63,63,63,63,64,64,64,64,64,65,65,65,65,65,66,66,66,66,66,67,67,67,67,67,68,68,68,68,68,69,69,69,69,69,70,70,70,70,70,71,71,71,71,71,72,72,72,72,72,73,73,73,73,73,78,78,78,78,78,86,86,86,86,86,89,89,89,89,89,89,89,89,89,89,109,109,118,118,118,118,119,120,122,127,127,127,127,127,127,127,127,127,141,141,143,145,145,145,145,145,145,151,151,152,164],"e":true},"初":{"w":"初","s":"初","c":{},"d":[43],"e":true},"始":{"w":"始","s":"始","c":{},"d":[43,56,59,59,59,59,59,59,59,59,59,59,73,73,73,73,73,78,78,78,78,78,78,78,78,78,78,80,80,80,80,80,80,80,80,80,80,93,93,109,109,109,109,114,114,114,114,114,114,114,114,114,114,141,141],"e":true},"阶":{"w":"阶","s":"阶","c":{},"d":[43,45,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,127,143,143,143,143,143,143,145,145,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166],"e":true},"段":{"w":"段","s":"段","c":{},"d":[43,45,47,47,47,47,47,47,47,47,48,48,48,48,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,59,59,59,59,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,80,80,80,80,84,84,84,84,84,85,85,85,85,85,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,87,87,87,87,87,88,88,88,88,88,88,88,88,88,88,89,89,89,89,89,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,93,93,93,93,114,114,114,114,127,143,143,143,143,143,143,143,145,145,147,160,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166],"e":true},"被":{"w":"被","s":"被","c":{},"d":[43,49,56,56,56,56,56,67,67,67,67,67,72,72,72,72,72,91,91,91,91,91,109,109,109,109,140,142,147,159],"e":true},"打":{"w":"打","s":"打","c":{},"d":[43,43,43,43,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,92,92,92,92,92],"e":true},"乱":{"w":"乱","s":"乱","c":{},"d":[43,43,43,43,47,47,47,47,92,92,92,92,92],"e":true},"流":{"w":"流","s":"流","c":{},"d":[43,45,45,109],"e":true},"第":{"w":"第","s":"第","c":{},"d":[43,43,43,43,43,43,43,43,47,56,56,56,56,56,56,56,56,56,56,79,79,79,79,79,79,79,79,79,79,131,147,162],"e":true},"顺":{"w":"顺","s":"顺","c":{},"d":[43,43,47,47,47,47,147],"e":true},"获":{"w":"获","s":"获","c":{},"d":[43,43,44,44,44,44,44,44,45,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,84,84,84,84,84,87,87,87,87,87,89,89,89,89,89,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,139,147,167],"e":true},"扩":{"w":"扩","s":"扩","c":{},"d":[44,49],"e":true},"展":{"w":"展","s":"展","c":{},"d":[44,49,127,127,127,157],"e":true},"谷":{"w":"谷","s":"谷","c":{},"d":[44,44,44,44,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"鸟":{"w":"鸟","s":"鸟","c":{},"d":[44,44,44,44,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"首":{"w":"首","s":"首","c":{},"d":[44,45,45,56,56,56,56,56,111,111,111,111,111,141,141],"e":true},"各":{"w":"各","s":"各","c":{},"d":[44,166],"e":true},"位":{"w":"位","s":"位","c":{},"d":[44,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,59,59,80,80,84,84,84,84,84,93,93,109,109,109,109,109,109,109,109,114,114,130,130,130,130,130,157,157],"e":true},"长":{"w":"长","s":"长","c":{},"d":[44,59,59,59,59,59,59,59,59,59,59,59,59,80,80,80,80,80,80,80,80,80,80,80,80,93,93,93,93,93,93,93,93,93,93,93,93,109,109,109,114,114,114,114,114,114,114,114,114,114,114,114,118,127,127],"e":true},"字":{"w":"字","s":"字","c":{},"d":[44,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,57,57,57,57,57,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,84,84,84,84,84,84,84,84,84,84,85,85,85,85,85,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,87,87,87,87,87,88,88,88,88,88,88,88,88,88,88,89,89,89,89,89,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,143,147,160],"e":true},"符":{"w":"符","s":"符","c":{},"d":[44,59,59,59,59,59,59,80,80,80,80,80,80,93,93,93,93,93,93,109,109,114,114,114,114,114,114],"e":true},"串":{"w":"串","s":"串","c":{},"d":[44,59,59,80,80,93,93,114,114],"e":true},"仅":{"w":"仅","s":"仅","c":{},"d":[44,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,73,73,73,73,73,127,145,145,147],"e":true},"钟":{"w":"钟","s":"钟","c":{},"d":[44,157,157],"e":true},"路":{"w":"路","s":"路","c":{},"d":[44,45,45,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,63,63,63,63,63,66,66,66,66,66,84,84,84,84,84,84,84,84,84,84,86,86,86,86,86,88,88,88,88,88,97,97,97,97,97,109,143],"e":true},"案":{"w":"案","s":"案","c":{},"d":[44,45,45,48,159],"e":true},"插":{"w":"插","s":"插","c":{},"d":[44,44,44,44,48,48,48,48,48,48,48,48,48,48],"e":true},"执":{"w":"执","s":"执","c":{},"d":[44,44,117,147,150],"e":true},"针":{"w":"针","s":"针","c":{},"d":[44,44,111,111,111,111,111,111,111,111,111,111,118,145,159],"e":true},"还":{"w":"还","s":"还","c":{},"d":[45,48,48,48,48,127],"e":true},"承":{"w":"承","s":"承","c":{},"d":[45,102,102,102,102,102,147],"e":true},"担":{"w":"担","s":"担","c":{},"d":[45,102,102,102,102,102],"e":true},"什":{"w":"什","s":"什","c":{},"d":[45,147,147,147,147,147,147,147,147,147,147],"e":true},"么":{"w":"么","s":"么","c":{},"d":[45,70,70,70,70,70,73,73,73,73,73,77,77,77,77,77,77,77,77,145,145,147,147,147,147,147,147,147,147,147,147,166],"e":true},"想":{"w":"想","s":"想","c":{},"d":[45,45,127,139],"e":true},"既":{"w":"既","s":"既","c":{},"d":[45],"e":true},"保":{"w":"保","s":"保","c":{},"d":[45,45,45,45,45,45,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,70,70,70,70,70,71,71,71,71,71,73,73,73,73,73,92,92,92,92,92,92,130,130,130,130,130,130,130,130,130,130,139,141,142,143,143,147,147],"e":true},"护":{"w":"护","s":"护","c":{},"d":[45,45,45,45,45,92,92,92,92,92,92],"e":true},"又":{"w":"又","s":"又","c":{},"d":[45],"e":true},"电":{"w":"电","s":"电","c":{},"d":[45,45],"e":true},"这":{"w":"这","s":"这","c":{},"d":[45,45,55,55,55,55,55,56,56,56,56,56,59,59,59,59,79,79,79,79,79,79,79,79,79,79,80,80,80,80,93,93,93,93,109,109,109,109,111,111,111,111,111,111,111,111,111,111,118,127,127,127,127,127,130,134,139,144,144,147,148,148,157],"e":true},"典":{"w":"典","s":"典","c":{},"d":[45],"e":true},"体":{"w":"体","s":"体","c":{},"d":[45,142,145],"e":true},"效":{"w":"效","s":"效","c":{},"d":[45,48,49,49,49,56,56,56,56,56,59,59,59,59,59,59,59,59,59,59,59,59,73,73,73,73,73,80,80,80,80,80,80,80,80,80,80,80,80,91,91,91,91,91,92,92,92,92,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,114,114,114,114,114,114,114,114,114,114,114,114,114,114],"e":true},"率":{"w":"率","s":"率","c":{},"d":[45,49,59,59,59,59,80,80,80,80,85,85,85,85,85,93,93,93,93,93,93,93,93,114,114,114,114,114,114],"e":true},"面":{"w":"面","s":"面","c":{},"d":[45],"e":true},"价":{"w":"价","s":"价","c":{},"d":[45,147],"e":true},"利":{"w":"利","s":"利","c":{},"d":[45],"e":true},"样":{"w":"样","s":"样","c":{},"d":[45,45,45,45,45,45,48,48,48,48,49,49,85,85,85,85,85],"e":true},"校":{"w":"校","s":"校","c":{},"d":[45],"e":true},"噪":{"w":"噪","s":"噪","c":{},"d":[45,45],"e":true},"声":{"w":"声","s":"声","c":{},"d":[45,45],"e":true},"确":{"w":"确","s":"确","c":{},"d":[45,45,45,48,48,48,48,48,70,70,70,70,70,130,130,130,130,130,130,130,130,130,130,141,142,143],"e":true},"经":{"w":"经","s":"经","c":{},"d":[45,45,47,49,49,49,49,49,59,59,59,59,80,80,80,80,92,92,92,92,92,93,93,93,93,114,114,114,114],"e":true},"洗":{"w":"洗","s":"洗","c":{},"d":[45,45],"e":true},"牌":{"w":"牌","s":"牌","c":{},"d":[45,45],"e":true},"来":{"w":"来","s":"来","c":{},"d":[45,45,45,70,70,70,70,70,109,117,118,119,127,139,139,139,143,150,152],"e":true},"别":{"w":"别","s":"别","c":{},"d":[45,45,45,45,123,147,147,155,159],"e":true},"己":{"w":"己","s":"己","c":{},"d":[45,45,109],"e":true},"同":{"w":"同","s":"同","c":{},"d":[45,45,45,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,55,55,55,55,55,55,55,55,55,55,56,118,120,120,122,122,123,127,142,145,148,150,151,151,152,155,162],"e":true},"着":{"w":"着","s":"着","c":{},"d":[45,45,45,45,109],"e":true},"换":{"w":"换","s":"换","c":{},"d":[45,45,140],"e":true},"返":{"w":"返","s":"返","c":{},"d":[45,45,49,89,89,89,89,89],"e":true},"找":{"w":"找","s":"找","c":{},"d":[45,45,117,118,127,150],"e":true},"它":{"w":"它","s":"它","c":{},"d":[45,45,109,109,114,114,114,114,147,149],"e":true},"索":{"w":"索","s":"索","c":{},"d":[45,45,45,45,45,45,48,48,101,101,101,101,101,101,101,101,101,101,127,145,145],"e":true},"引":{"w":"引","s":"引","c":{},"d":[45,45,45,45,45,45,49,101,101,101,101,101,101,101,101,101,101],"e":true},"揭":{"w":"揭","s":"揭","c":{},"d":[45,45],"e":true},"只":{"w":"只","s":"只","c":{},"d":[45,79,79,79,79,79,79,79,79,79,79,141,141,147,148,167],"e":true},"带":{"w":"带","s":"带","c":{},"d":[45,48,91,91,91,91,91,159,166,166,166,166,166,166,166],"e":true},"否":{"w":"否","s":"否","c":{},"d":[45,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,65,65,65,65,65,67,67,67,67,67,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,72,72,72,72,72,84,84,84,84,84,86,86,86,86,86,86,86,86,86,86,87,87,87,87,87,88,88,88,88,88,147,147,147,147,147,159],"e":true},"真":{"w":"真","s":"真","c":{},"d":[45,148,148,148,148],"e":true},"属":{"w":"属","s":"属","c":{},"d":[45,70,70,70,70,70,70,70,70,70,70,73,73,73,73,73,73,73,73,73,73,145],"e":true},"际":{"w":"际","s":"际","c":{},"d":[45,49,91,91,91,91,91,147],"e":true},"避":{"w":"避","s":"避","c":{},"d":[45],"e":true},"免":{"w":"免","s":"免","c":{},"d":[45],"e":true},"地":{"w":"地","s":"地","c":{},"d":[45,59,59,59,59,75,75,75,75,75,80,80,80,80,93,93,93,93,104,109,112,112,112,112,112,112,112,112,112,112,114,114,114,114],"e":true},"削":{"w":"削","s":"削","c":{},"d":[45],"e":true},"弱":{"w":"弱","s":"弱","c":{},"d":[45],"e":true},"强":{"w":"强","s":"强","c":{},"d":[45,45,45],"e":true},"因":{"w":"因","s":"因","c":{},"d":[45,67,67,67,67,67,72,72,72,72,72,127,127,127,127,147],"e":true},"烈":{"w":"烈","s":"烈","c":{},"d":[45],"e":true},"户":{"w":"户","s":"户","c":{},"d":[45,47,102,102,102,102,102,109,109,134,134,134,134,134,134,134,146],"e":true},"防":{"w":"防","s":"防","c":{},"d":[45],"e":true},"止":{"w":"止","s":"止","c":{},"d":[45,70,70,70,70,70,147],"e":true},"秒":{"w":"秒","s":"秒","c":{},"d":[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,109,109,109,109,109,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,127,127,157,157],"e":true},"默":{"w":"默","s":"默","c":{},"d":[45,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,63,63,63,63,63,63,63,64,64,64,64,64,65,65,65,65,65,67,67,67,67,67,68,68,68,68,68,72,72,72,72,72,103,103,103,103,103,103,103,103,103,103,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,112,112,112,112,112,118,147,147,147,157,157],"e":true},"认":{"w":"认","s":"认","c":{},"d":[45,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,63,63,63,63,63,63,63,64,64,64,64,64,65,65,65,65,65,67,67,67,67,67,68,68,68,68,68,72,72,72,72,72,103,103,103,103,103,103,103,103,103,103,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,112,112,112,112,112,118,147,147,147,157,157,159],"e":true},"详":{"w":"详","s":"详","c":{},"d":[45,56,92,92,92,92,92,92,92,92,92,92,142,159,160],"e":true},"情":{"w":"情","s":"情","c":{},"d":[45,56,92,92,92,92,92,92,92,92,92,92,109,109,142,159,160],"e":true},"阅":{"w":"阅","s":"阅","c":{},"d":[45,133,139,139,142,142,144,159,160],"e":true},"节":{"w":"节","s":"节","c":{},"d":[47,56,56,56,56,56,59,59,59,59,59,59,59,59,59,59,71,80,80,80,80,80,80,80,80,80,80,84,84,84,84,84,93,93,93,93,93,93,93,93,93,93,114,114,114,114,114,114,114,114,114,114,130,139,147],"e":true},"称":{"w":"称","s":"称","c":{},"d":[47,48,49,78,78,78,78,78,78,78,78,78,78,91,91,91,91,91,92,92,92,92,92,102,102,102,102,102,103,103,103,103,103,104,104,104,104,104,130,130,130,130,130,147,147,147,159],"e":true},"放":{"w":"放","s":"放","c":{},"d":[47,67,67,67,67,67,72,72,72,72,72],"e":true},"宽":{"w":"宽","s":"宽","c":{},"d":[47,159,166,166,166,166,166,166,166],"e":true},"够":{"w":"够","s":"够","c":{},"d":[47,49,147],"e":true},"抵":{"w":"抵","s":"抵","c":{},"d":[47],"e":true},"御":{"w":"御","s":"御","c":{},"d":[47],"e":true},"攻":{"w":"攻","s":"攻","c":{},"d":[47,159,167],"e":true},"击":{"w":"击","s":"击","c":{},"d":[47,159,167],"e":true},"预":{"w":"预","s":"预","c":{},"d":[47,47,84,84,84,84,84],"e":true},"优":{"w":"优","s":"优","c":{},"d":[47,48,48,127,127,159,166],"e":true},"化":{"w":"化","s":"化","c":{},"d":[47,47,47,47,47,48,48,48,48,48,48,48,48,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,127,166],"e":true},"尽":{"w":"尽","s":"尽","c":{},"d":[47,109],"e":true},"转":{"w":"转","s":"转","c":{},"d":[47,140],"e":true},"伪":{"w":"伪","s":"伪","c":{},"d":[47,47,47,47,47,47,49,92,92,92,92,92],"e":true},"客":{"w":"客","s":"客","c":{},"d":[47,102,102,102,102,102,109,109,134,134,134,134,134,134,134],"e":true},"端":{"w":"端","s":"端","c":{},"d":[47,100,100,100,100,100,100,101,101,101,101,101,102,102,102,102,102,102,102,102,102,102,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,109,109,127,131,131,134,134,134,134,134,134,134,134,134,134,134,134,134,134,162,162],"e":true},"服":{"w":"服","s":"服","c":{},"d":[47,102,102,102,102,102,102,102,102,102,102,104,109,127,134,134,134,134,134,134,134,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136],"e":true},"务":{"w":"务","s":"务","c":{},"d":[47,57,102,102,102,102,102,102,102,102,102,102,104,109,109,127,134,134,134,134,134,134,134,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,148,148],"e":true},"双":{"w":"双","s":"双","c":{},"d":[47,77,77,92,92,92,92,92,92,92,92,92,92,147,148,148],"e":true},"规":{"w":"规","s":"规","c":{},"d":[47,48,48,59,59,59,59,80,80,80,80,114,114,114,114,118,118,120,122,127,127,127,147,151],"e":true},"离":{"w":"离","s":"离","c":{},"d":[47,47,84,84,84,84,84,92,92,92,92,92,127,143,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166],"e":true},"即":{"w":"即","s":"即","c":{},"d":[47,47,47,47,111,111,111,111,111,141,141,141,141,142,167],"e":true},"再":{"w":"再","s":"再","c":{},"d":[47,47,47,47,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,109,139],"e":true},"盲":{"w":"盲","s":"盲","c":{},"d":[47,47,47,47,47,47,47,47],"e":true},"签":{"w":"签","s":"签","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,118,127,127,141,141],"e":true},"另":{"w":"另","s":"另","c":{},"d":[48,78,78,78,78,78,109,131,147,162],"e":true},"杂":{"w":"杂","s":"杂","c":{},"d":[48,127],"e":true},"微":{"w":"微","s":"微","c":{},"d":[48,48],"e":true},"软":{"w":"软","s":"软","c":{},"d":[48,48],"e":true},"究":{"w":"究","s":"究","c":{},"d":[48],"e":true},"词":{"w":"词","s":"词","c":{},"d":[48,48],"e":true},"q":{"w":"q","s":"q","c":{"u":{"w":"query","s":"uery","c":{"p":{"w":"queryparams","s":"params","c":{},"d":[48,48,48,48,48,48,48],"e":true},"_":{"w":"query_","s":"_","c":{"p":{"w":"query_powers","s":"powers","c":{},"d":[48,48,48,48,48],"e":true},"f":{"w":"query_file","s":"file","c":{},"d":[55,55,55,55,55],"e":true},"b":{"w":"query_batch_size","s":"batch_size","c":{},"d":[55,55,55,55,55],"e":true},"r":{"w":"query_rows","s":"rows","c":{"_":{"w":"query_rows_per_bucket","s":"_per_bucket","c":{},"d":[145,145,145,145,145,145],"e":true}},"d":[145,145,145,145,145,145],"e":true}},"d":[],"e":false}},"d":[],"e":false}},"d":[50,50,91,91,91,91,91],"e":true},"物":{"w":"物","s":"物","c":{},"d":[48,48,48,48],"e":true},"品":{"w":"品","s":"品","c":{},"d":[48,48,48,48],"e":true},"割":{"w":"割","s":"割","c":{},"d":[48,48,48,48,48,48,48,48,48],"e":true},"匹":{"w":"匹","s":"匹","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,147],"e":true},"联":{"w":"联","s":"联","c":{},"d":[48,48,48,48,48,48,127],"e":true},"具":{"w":"具","s":"具","c":{},"d":[48,48,48,48,48,48,93,93,93,93,142,145,159],"e":true},"窗":{"w":"窗","s":"窗","c":{},"d":[48,48,48,48,48,48,48,109],"e":true},"幂":{"w":"幂","s":"幂","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"e":true},"评":{"w":"评","s":"评","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49],"e":true},"估":{"w":"估","s":"估","c":{},"d":[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49],"e":true},"必":{"w":"必","s":"必","c":{},"d":[48,48,48,48,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,59,59,70,70,70,70,70,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,80,80,93,93,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,114,114,127,140,141,141,141,141,141,141,141,141,142,147,147,148,148],"e":true},"占":{"w":"占","s":"占","c":{},"d":[48,48,48,48,48,56,56,56,56,56,71],"e":true},"少":{"w":"少","s":"少","c":{},"d":[48,48,48,48,48,56,56,56,56,56,127,147,147],"e":true},"批":{"w":"批","s":"批","c":{},"d":[48,48,48,48,48,55,55,55,55,55,92,92,92,92,92],"e":true},"槽":{"w":"槽","s":"槽","c":{},"d":[48,48,48,48,48],"e":true},"质":{"w":"质","s":"质","c":{},"d":[48,48,48,48,48],"e":true},"禁":{"w":"禁","s":"禁","c":{},"d":[48,48,48,48,48],"e":true},"整":{"w":"整","s":"整","c":{},"d":[48,48,48,48,48,59,59,59,59,67,67,67,67,67,72,72,72,72,72,80,80,80,80,93,93,93,93,109,109,109,114,114,114,114],"e":true},"倍":{"w":"倍","s":"倍","c":{},"d":[48,48,48,48,48],"e":true},"容":{"w":"容","s":"容","c":{},"d":[48,48,48,48,48,48,48,48,48,48,69,123,139,146,155],"e":true},"纳":{"w":"纳","s":"纳","c":{},"d":[48,48,48,48,48,48,48,48,48,48],"e":true},"低":{"w":"低","s":"低","c":{},"d":[48,48,48,48,48,49,59,59,59,59,80,80,80,80,92,92,92,92,92,93,93,93,93,114,114,114,114],"e":true},"任":{"w":"任","s":"任","c":{},"d":[48,48,48,48,48,57,59,59,80,80,93,93,93,93,109,112,112,112,112,112,127,147,147,148,148],"e":true},"适":{"w":"适","s":"适","c":{},"d":[48,48,48,48,48,49,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,118,127,147,148,148],"e":true},"源":{"w":"源","s":"源","c":{},"d":[48,48,48,48,48,56,56,56,56,56,137,139,143,147,159,161,165],"e":true},"储":{"w":"储","s":"储","c":{},"d":[49,49],"e":true},"降":{"w":"降","s":"降","c":{},"d":[49],"e":true},"抽":{"w":"抽","s":"抽","c":{},"d":[49],"e":true},"象":{"w":"象","s":"象","c":{},"d":[49],"e":true},"亚":{"w":"亚","s":"亚","c":{},"d":[49],"e":true},"受":{"w":"受","s":"受","c":{},"d":[49,112,112,112,112,112,159,159,159,167],"e":true},"纠":{"w":"纠","s":"纠","c":{},"d":[49],"e":true},"友":{"w":"友","s":"友","c":{},"d":[49],"e":true},"银":{"w":"银","s":"银","c":{},"d":[49,49],"e":true},"色":{"w":"色","s":"色","c":{},"d":[49,49,78,102,102,102,102,102],"e":true},"累":{"w":"累","s":"累","c":{},"d":[49],"e":true},"积":{"w":"积","s":"积","c":{},"d":[49],"e":true},"满":{"w":"满","s":"满","c":{},"d":[49,49],"e":true},"足":{"w":"足","s":"足","c":{},"d":[49,49,166],"e":true},"义":{"w":"义","s":"义","c":{},"d":[49,49,91,91,91,91,91,147],"e":true},"启":{"w":"启","s":"启","c":{},"d":[51,51,51,51,56,56,56,56,56,77,77,77,77,111,111,111,111,111,130,130,130,134,134,134,142,142,142,142,147,147,147,147,147,148,160,160,160,160],"e":true},"动":{"w":"动","s":"动","c":{},"d":[51,51,51,51,130,130,130,134,134,134,142,142,142,142,148,160,160,160,160],"e":true},"报":{"w":"报","s":"报","c":{},"d":[53,53,53,53,53,57,89],"e":true},"告":{"w":"告","s":"告","c":{},"d":[53,53,53,53,53,57,89,167],"e":true},"类":{"w":"类","s":"类","c":{},"d":[53,53,53,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,63,63,63,63,63,64,64,64,64,64,65,65,65,65,65,66,66,66,66,66,67,67,67,67,67,68,68,68,68,68,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,71,71,71,71,71,72,72,72,72,72,73,73,73,73,73,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,84,84,84,84,84,84,84,84,84,84,85,85,85,85,85,86,86,86,86,86,87,87,87,87,87,87,87,87,87,87,88,88,88,88,88,89,89,89,89,89,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,109,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,136,136,136,136,136,139,147,159,159,159,159,159],"e":true},"描":{"w":"描","s":"描","c":{},"d":[55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,57,57,57,57,57,63,63,63,63,63,64,64,64,64,64,65,65,65,65,65,66,66,66,66,66,67,67,67,67,67,68,68,68,68,68,69,69,69,69,69,70,70,70,70,70,71,71,71,71,71,72,72,72,72,72,73,73,73,73,73,75,75,75,75,75,76,76,76,76,76,77,77,77,77,77,78,78,78,78,78,79,79,79,79,79,84,84,84,84,84,85,85,85,85,85,86,86,86,86,86,87,87,87,87,87,88,88,88,88,88,89,89,89,89,89,91,91,91,91,91,92,92,92,92,92,109,109,109,109,109,109,109,109,109,109,130,130,130,130,130,139,139],"e":true},"述":{"w":"述","s":"述","c":{},"d":[55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,57,57,57,57,57,63,63,63,63,63,64,64,64,64,64,65,65,65,65,65,66,66,66,66,66,67,67,67,67,67,68,68,68,68,68,69,69,69,69,69,70,70,70,70,70,71,71,71,71,71,72,72,72,72,72,73,73,73,73,73,75,75,75,75,75,76,76,76,76,76,77,77,77,77,77,78,78,78,78,78,79,79,79,79,79,84,84,84,84,84,85,85,85,85,85,86,86,86,86,86,87,87,87,87,87,88,88,88,88,88,89,89,89,89,89,91,91,91,91,91,92,92,92,92,92,109,109,109,109,109,109,109,109,109,109,109,127,127,127,130,130,130,130,130,139,139,157],"e":true},"径":{"w":"径","s":"径","c":{},"d":[55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,63,63,63,63,63,66,66,66,66,66,84,84,84,84,84,84,84,84,84,84,86,86,86,86,86,88,88,88,88,88,143],"e":true},"控":{"w":"控","s":"控","c":{},"d":[55,55,55,55,55,56,56,56,56,56],"e":true},"台":{"w":"台","s":"台","c":{},"d":[55,55,55,55,55,56,56,56,56,56],"e":true},"导":{"w":"导","s":"导","c":{},"d":[55,55,55,55,55,159],"e":true},"致":{"w":"致","s":"致","c":{},"d":[55,55,55,55,55,127,139,142,143,147,159],"e":true},"额":{"w":"额","s":"额","c":{},"d":[55,55,55,55,55,71,111,111,111,111,111],"e":true},"须":{"w":"须","s":"须","c":{},"d":[55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,59,59,80,80,93,93,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,114,114,140,141,141,141,141,141,141,141,141,142,147,147,148,148],"e":true},"尝":{"w":"尝","s":"尝","c":{},"d":[56,56,56,56,56,56,56,56,56,56,139,159,166],"e":true},"失":{"w":"失","s":"失","c":{},"d":[56,56,56,56,56,71,148],"e":true},"败":{"w":"败","s":"败","c":{},"d":[56,56,56,56,56,71,148],"e":true},"他":{"w":"他","s":"他","c":{},"d":[56,56,56,56,56,73,73,73,73,73],"e":true},"忽":{"w":"忽","s":"忽","c":{},"d":[56,56,56,56,56,109,109,142],"e":true},"略":{"w":"略","s":"略","c":{},"d":[56,56,56,56,56,109,109,142],"e":true},"压":{"w":"压","s":"压","c":{},"d":[56,56,56,56,56],"e":true},"缩":{"w":"缩","s":"缩","c":{},"d":[56,56,56,56,56],"e":true},"减":{"w":"减","s":"减","c":{},"d":[56,56,56,56,56],"e":true},"增":{"w":"增","s":"增","c":{},"d":[56,56,56,56,56,111,111,111,111,111,139],"e":true},"验":{"w":"验","s":"验","c":{},"d":[56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,139,139,166],"e":true},"独":{"w":"独","s":"独","c":{},"d":[56,56,56,56,56],"e":true},"立":{"w":"立","s":"立","c":{},"d":[56,56,56,56,56],"e":true},"备":{"w":"备","s":"备","c":{},"d":[59,59,59,59,59,93,93,93,93,93,130],"e":true},"负":{"w":"负","s":"负","c":{},"d":[59,59,59,59,59,59,59,59,59,59,59,59,80,80,80,80,80,80,80,80,80,80,80,80,93,93,93,93,93,93,93,93,93,93,93,93,109,109,114,114,114,114,114,114,114,114,114,114,114,114],"e":true},"号":{"w":"号","s":"号","c":{},"d":[59,59,59,59,80,80,80,80,84,84,84,84,84,87,87,87,87,87,91,91,91,91,91,92,92,92,92,92,93,93,93,93,109,109,114,114,114,114],"e":true},"常":{"w":"常","s":"常","c":{},"d":[59,59,59,59,59,59,59,59,80,80,80,80,80,80,80,80,93,93,93,93,109,109,114,114,114,114,114,114,114,114,114,114,115,115,115,115,146,147,147,159],"e":true},"四":{"w":"四","s":"四","c":{},"d":[59,59,59,59,80,80,80,80,91,91,91,91,91,93,93,93,93,114,114,114,114,114,114],"e":true},"八":{"w":"八","s":"八","c":{},"d":[59,59,59,59,80,80,80,80,93,93,93,93,114,114,114,114],"e":true},"等":{"w":"等","s":"等","c":{},"d":[63,63,70,70,70,70,70,109,109,109,109,109,112,112,112,112,112,147,148,148],"e":true},"踪":{"w":"踪","s":"踪","c":{},"d":[63,63,63,63,63,135],"e":true},"唯":{"w":"唯","s":"唯","c":{},"d":[65,65,65,65,65,103,103,103,103,103],"e":true},"完":{"w":"完","s":"完","c":{},"d":[67,67,67,67,67,72,72,72,72,72,127,140],"e":true},"顶":{"w":"顶","s":"顶","c":{},"d":[70],"e":true},"层":{"w":"层","s":"层","c":{},"d":[70,139,139],"e":true},"很":{"w":"很","s":"很","c":{},"d":[70,109,127,145],"e":true},"例":{"w":"例","s":"例","c":{},"d":[70,92,92,92,92,92,102,102,102,102,102,109,109,117,118,133,134,134,134,144,144,150],"e":true},"若":{"w":"若","s":"若","c":{},"d":[70,111,111,111,111,111,111,111,111,111,111,114,114,160],"e":true},"侧":{"w":"侧","s":"侧","c":{},"d":[70,70,70,70,70,70,70,70],"e":true},"那":{"w":"那","s":"那","c":{},"d":[70,70,70,70,70,73,73,73,73,73,77,77,77,77,77,77,77,77,145,145,166],"e":true},"证":{"w":"证","s":"证","c":{},"d":[70,70,70,70,70,73,73,73,73,73,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,147,148,148],"e":true},"齐":{"w":"齐","s":"齐","c":{},"d":[70,70,70,70,70,73,73,73,73,73,147],"e":true},"填":{"w":"填","s":"填","c":{},"d":[70,70,70,70,70,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,160],"e":true},"网":{"w":"网","s":"网","c":{},"d":[71,97,97,97,97,97,109,109,109,109,109,109,109,109,109,109,123,147,155,166,166,166,166,166],"e":true},"络":{"w":"络","s":"络","c":{},"d":[71,97,97,97,97,97,123,147,155],"e":true},"近":{"w":"近","s":"近","c":{},"d":[71],"e":true},"省":{"w":"省","s":"省","c":{},"d":[71,147],"e":true},"磁":{"w":"磁","s":"磁","c":{},"d":[71],"e":true},"盘":{"w":"盘","s":"盘","c":{},"d":[71],"e":true},"状":{"w":"状","s":"状","c":{},"d":[71,71,71,71,71,147],"e":true},"当":{"w":"当","s":"当","c":{},"d":[73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,89,89,89,89,89,109,109,123,127,142,145,147,155],"e":true},"才":{"w":"才","s":"才","c":{},"d":[73,73,73,73,73],"e":true},"角":{"w":"角","s":"角","c":{},"d":[78,102,102,102,102,102],"e":true},"把":{"w":"把","s":"把","c":{},"d":[79,79,79,79,79],"e":true},"释":{"w":"释","s":"释","c":{},"d":[80,80,80,80,80],"e":true},"消":{"w":"消","s":"消","c":{},"d":[82,82,109,109,109],"e":true},"枚":{"w":"枚","s":"枚","c":{},"d":[82,82],"e":true},"举":{"w":"举","s":"举","c":{},"d":[82,82],"e":true},"播":{"w":"播","s":"播","c":{},"d":[84,84,84,84,84,87,87,87,87,87],"e":true},"概":{"w":"概","s":"概","c":{},"d":[85,85,85,85,85],"e":true},"按":{"w":"按","s":"按","c":{},"d":[88,88,88,88,88,127,127,147,157],"e":true},"维":{"w":"维","s":"维","c":{},"d":[91,91,91,91,91],"e":true},"国":{"w":"国","s":"国","c":{},"d":[91,91,91,91,91,91,91,91,91,91,91,91,91,91,91],"e":true},"家":{"w":"家","s":"家","c":{},"d":[91,91,91,91,91],"e":true},"学":{"w":"学","s":"学","c":{},"d":[91,91,91,91,91],"e":true},"迭":{"w":"迭","s":"迭","c":{},"d":[92,92,92,92,92,92,92,92,92,92],"e":true},"均":{"w":"均","s":"均","c":{},"d":[92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,166],"e":true},"见":{"w":"见","s":"见","c":{},"d":[92,92,92,92,92,92,92,92,92,92,115,115,115,115,146],"e":true},"替":{"w":"替","s":"替","c":{},"d":[93,93,93,93],"e":true},"总":{"w":"总","s":"总","c":{},"d":[93,93,93,93,93,93,93,93,127],"e":true},"何":{"w":"何","s":"何","c":{},"d":[93,93,127,147,147,148,148,148,148],"e":true},"身":{"w":"身","s":"身","c":{},"d":[101,101,101,101,101,101,101,101,101,101,148,148],"e":true},"范":{"w":"范","s":"范","c":{},"d":[103,103,103,103,103],"e":true},"围":{"w":"围","s":"围","c":{},"d":[103,103,103,103,103],"e":true},"址":{"w":"址","s":"址","c":{},"d":[104,112,112,112,112,112,112,112,112,112,112],"e":true},"世":{"w":"世","s":"世","c":{},"d":[109,109,109,109,109],"e":true},"界":{"w":"界","s":"界","c":{},"d":[109,109,109,109,109],"e":true},"格":{"w":"格","s":"格","c":{},"d":[109,109,109,109,109,109,109,109,109,109,141],"e":true},"隔":{"w":"隔","s":"隔","c":{},"d":[109,109,109,109,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111],"e":true},"超":{"w":"超","s":"超","c":{},"d":[109,109,109,109,109,109,109,109,109,109],"e":true},"毫":{"w":"毫","s":"毫","c":{},"d":[109,109,109,109,109,109,127,127],"e":true},"待":{"w":"待","s":"待","c":{},"d":[109,109,109,109,109],"e":true},"特":{"w":"特","s":"特","c":{},"d":[109,109,127,127,145,159],"e":true},"事":{"w":"事","s":"事","c":{},"d":[109,109,109],"e":true},"束":{"w":"束","s":"束","c":{},"d":[109,109],"e":true},"忙":{"w":"忙","s":"忙","c":{},"d":[109,109],"e":true},"碌":{"w":"碌","s":"碌","c":{},"d":[109],"e":true},"工":{"w":"工","s":"工","c":{},"d":[109],"e":true},"爱":{"w":"爱","s":"爱","c":{},"d":[109],"e":true},"丽":{"w":"丽","s":"丽","c":{},"d":[109],"e":true},"丝":{"w":"丝","s":"丝","c":{},"d":[109],"e":true},"仍":{"w":"仍","s":"仍","c":{},"d":[109],"e":true},"做":{"w":"做","s":"做","c":{},"d":[109],"e":true},"就":{"w":"就","s":"就","c":{},"d":[109,145,147,166],"e":true},"抛":{"w":"抛","s":"抛","c":{},"d":[109,109],"e":true},"异":{"w":"异","s":"异","c":{},"d":[109,109],"e":true},"管":{"w":"管","s":"管","c":{},"d":[109],"e":true},"鲍":{"w":"鲍","s":"鲍","c":{},"d":[109],"e":true},"勃":{"w":"勃","s":"勃","c":{},"d":[109],"e":true},"刚":{"w":"刚","s":"刚","c":{},"d":[109],"e":true},"耗":{"w":"耗","s":"耗","c":{},"d":[109],"e":true},"况":{"w":"况","s":"况","c":{},"d":[109,147],"e":true},"拆":{"w":"拆","s":"拆","c":{},"d":[109,145],"e":true},"起":{"w":"起","s":"起","c":{},"d":[109,143],"e":true},"道":{"w":"道","s":"道","c":{},"d":[109,109,109,109,109,109,145,145],"e":true},"阻":{"w":"阻","s":"阻","c":{},"d":[109],"e":true},"塞":{"w":"塞","s":"塞","c":{},"d":[109],"e":true},"激":{"w":"激","s":"激","c":{},"d":[111,111,111,111,111],"e":true},"书":{"w":"书","s":"书","c":{},"d":[112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,148,148],"e":true},"深":{"w":"深","s":"深","c":{},"d":[112,112,112,112,112,127],"e":true},"闭":{"w":"闭","s":"闭","c":{},"d":[112,112,112,112,112],"e":true},"颁":{"w":"颁","s":"颁","c":{},"d":[112,112,112,112,112],"e":true},"固":{"w":"固","s":"固","c":{},"d":[114,114,127],"e":true},"废":{"w":"废","s":"废","c":{},"d":[115,115,115,115],"e":true},"你":{"w":"你","s":"你","c":{},"d":[117,127,139,139,140,144,145,145,150,159,163],"e":true},"拟":{"w":"拟","s":"拟","c":{},"d":[118,151],"e":true},"佳":{"w":"佳","s":"佳","c":{},"d":[118,127],"e":true},"充":{"w":"充","s":"充","c":{},"d":[123,155,166],"e":true},"照":{"w":"照","s":"照","c":{},"d":[127,127,147,157],"e":true},"没":{"w":"没","s":"没","c":{},"d":[127,142,147],"e":true},"花":{"w":"花","s":"花","c":{},"d":[127],"e":true},"费":{"w":"费","s":"费","c":{},"d":[127],"e":true},"旨":{"w":"旨","s":"旨","c":{},"d":[127,159],"e":true},"望":{"w":"望","s":"望","c":{},"d":[127,147,147],"e":true},"疑":{"w":"疑","s":"疑","c":{},"d":[127],"e":true},"十":{"w":"十","s":"十","c":{},"d":[127],"e":true},"亿":{"w":"亿","s":"亿","c":{},"d":[127],"e":true},"虑":{"w":"虑","s":"虑","c":{},"d":[127],"e":true},"细":{"w":"细","s":"细","c":{},"d":[130,139,139],"e":true},"续":{"w":"续","s":"续","c":{},"d":[136,136,136,136,136],"e":true},"简":{"w":"简","s":"简","c":{},"d":[139],"e":true},"仔":{"w":"仔","s":"仔","c":{},"d":[139],"e":true},"似":{"w":"似","s":"似","c":{},"d":[139],"e":true},"头":{"w":"头","s":"头","c":{},"d":[141,141,141,141],"e":true},"且":{"w":"且","s":"且","c":{},"d":[141,141,145],"e":true},"根":{"w":"根","s":"根","c":{},"d":[143],"e":true},"演":{"w":"演","s":"演","c":{},"d":[144],"e":true},"搜":{"w":"搜","s":"搜","c":{},"d":[145,145],"e":true},"虽":{"w":"虽","s":"虽","c":{},"d":[145],"e":true},"哪":{"w":"哪","s":"哪","c":{},"d":[145],"e":true},"诺":{"w":"诺","s":"诺","c":{},"d":[147],"e":true},"达":{"w":"达","s":"达","c":{},"d":[147],"e":true},"停":{"w":"停","s":"停","c":{},"d":[147],"e":true},"留":{"w":"留","s":"留","c":{},"d":[147],"e":true},"资":{"w":"资","s":"资","c":{},"d":[147,159,165],"e":true},"势":{"w":"势","s":"势","c":{},"d":[159],"e":true},"威":{"w":"威","s":"威","c":{},"d":[159,159,159,159,159,159],"e":true},"胁":{"w":"胁","s":"胁","c":{},"d":[159,159,159,159,159,159],"e":true},"刻":{"w":"刻","s":"刻","c":{},"d":[159],"e":true},"画":{"w":"画","s":"画","c":{},"d":[159],"e":true},"敌":{"w":"敌","s":"敌","c":{},"d":[159,159,159,159,159,159,159,159,159,159],"e":true},"切":{"w":"切","s":"切","c":{},"d":[159],"e":true},"勿":{"w":"勿","s":"勿","c":{},"d":[159],"e":true},"环":{"w":"环","s":"环","c":{},"d":[159],"e":true},"境":{"w":"境","s":"境","c":{},"d":[159],"e":true},"遭":{"w":"遭","s":"遭","c":{},"d":[159],"e":true},"游":{"w":"游","s":"游","c":{},"d":[166],"e":true},"局":{"w":"局","s":"局","c":{},"d":[166,166,166,166,166],"e":true},"警":{"w":"警","s":"警","c":{},"d":[167],"e":true}},"d":[],"e":false},"isArray":false},"type":{"type":"Radix","node":{"w":"","s":"","c":{"f":{"w":"fragment","s":"fragment","c":{},"d":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],"e":true}},"d":[],"e":false},"isArray":false},"symbol.domain":{"type":"Radix","node":{"w":"","s":"","c":{},"d":[],"e":false},"isArray":false},"symbol.name":{"type":"Radix","node":{"w":"","s":"","c":{},"d":[],"e":false},"isArray":false},"symbol.module":{"type":"Radix","node":{"w":"","s":"","c":{},"d":[],"e":false},"isArray":false}},"vectorIndexes":{},"searchableProperties":["url","title","content","type","symbol.domain","symbol.name","symbol.module"],"searchablePropertiesWithTypes":{"url":"string","title":"string","content":"string","type":"string","symbol.domain":"string","symbol.name":"string","symbol.module":"string"},"frequencies":{"url":{"1":{"psi":0.18181818181818182,"main":0.09090909090909091,"zh":0.09090909090909091,"cn":0.09090909090909091,"welcome":0.09090909090909091,"to":0.09090909090909091,"secretflow":0.09090909090909091,"library":0.09090909090909091,"s":0.09090909090909091,"documentation":0.09090909090909091},"2":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"whatsnew":0.14285714285714285,"release":0.14285714285714285,"notes":0.14285714285714285},"3":{"psi":0.16666666666666666,"main":0.16666666666666666,"zh":0.16666666666666666,"cn":0.16666666666666666,"whatsnew":0.16666666666666666,"release":0.16666666666666666},"4":{"5":0.125,"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"whatsnew":0.125,"v0":0.125,"0beta":0.125},"5":{"4":0.125,"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"whatsnew":0.125,"v0":0.125,"2beta":0.125},"6":{"4":0.125,"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"whatsnew":0.125,"v0":0.125,"0beta":0.125},"7":{"0":0.1111111111111111,"4":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev240801":0.1111111111111111},"8":{"0":0.1111111111111111,"4":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev240731":0.1111111111111111},"9":{"0":0.1111111111111111,"4":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev240521":0.1111111111111111},"10":{"0":0.1111111111111111,"4":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev240517":0.1111111111111111},"11":{"0":0.1111111111111111,"4":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev240514":0.1111111111111111},"12":{"0":0.1111111111111111,"4":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev240401":0.1111111111111111},"13":{"0":0.1111111111111111,"4":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev240329":0.1111111111111111},"14":{"3":0.125,"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"whatsnew":0.125,"v0":0.125,"0beta":0.125},"15":{"0":0.1111111111111111,"3":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev240304":0.1111111111111111},"16":{"0":0.1111111111111111,"3":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev240222":0.1111111111111111},"17":{"0":0.1111111111111111,"3":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev240219":0.1111111111111111},"18":{"0":0.1111111111111111,"2":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev240123":0.1111111111111111},"19":{"0":0.1111111111111111,"2":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev231228":0.1111111111111111},"20":{"0":0.1111111111111111,"2":0.1111111111111111,"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"whatsnew":0.1111111111111111,"v0":0.1111111111111111,"dev231221":0.1111111111111111},"21":{"1":0.125,"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"whatsnew":0.125,"v0":0.125,"0beta":0.125},"22":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"getting_started":0.14285714285714285,"getting":0.14285714285714285,"started":0.14285714285714285},"23":{"psi":0.16666666666666666,"main":0.16666666666666666,"zh":0.16666666666666666,"cn":0.16666666666666666,"getting_started":0.16666666666666666,"installation":0.16666666666666666},"24":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"getting_started":0.14285714285714285,"c":0.14285714285714285,"binaries":0.14285714285714285},"25":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"getting_started":0.14285714285714285,"release":0.14285714285714285,"docker":0.14285714285714285},"26":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"getting_started":0.125,"building":0.125,"from":0.125,"source":0.125},"27":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"getting_started":0.14285714285714285,"python":0.14285714285714285,"packages":0.14285714285714285},"28":{"psi":0.16666666666666666,"main":0.16666666666666666,"zh":0.16666666666666666,"cn":0.16666666666666666,"getting_started":0.16666666666666666,"id1":0.16666666666666666},"29":{"psi":0.16666666666666666,"main":0.16666666666666666,"zh":0.16666666666666666,"cn":0.16666666666666666,"getting_started":0.16666666666666666,"id2":0.16666666666666666},"30":{"psi":0.16666666666666666,"main":0.16666666666666666,"zh":0.16666666666666666,"cn":0.16666666666666666,"getting_started":0.16666666666666666,"applications":0.16666666666666666},"31":{"psi":0.16666666666666666,"main":0.16666666666666666,"zh":0.16666666666666666,"cn":0.16666666666666666,"getting_started":0.16666666666666666,"id3":0.16666666666666666},"32":{"psi":0.16666666666666666,"main":0.16666666666666666,"zh":0.16666666666666666,"cn":0.16666666666666666,"getting_started":0.16666666666666666,"id4":0.16666666666666666},"33":{"psi":0.25,"main":0.125,"zh":0.125,"cn":0.125,"getting_started":0.125,"deprecated":0.125,"easy":0.125},"34":{"psi":0.16666666666666666,"main":0.16666666666666666,"zh":0.16666666666666666,"cn":0.16666666666666666,"getting_started":0.16666666666666666,"building":0.16666666666666666},"35":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"getting_started":0.14285714285714285,"system":0.14285714285714285,"setup":0.14285714285714285},"36":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"getting_started":0.14285714285714285,"dev":0.14285714285714285,"docker":0.14285714285714285},"37":{"psi":0.16666666666666666,"main":0.16666666666666666,"zh":0.16666666666666666,"cn":0.16666666666666666,"getting_started":0.16666666666666666,"linux":0.16666666666666666},"38":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"getting_started":0.14285714285714285,"build":0.14285714285714285,"unittest":0.14285714285714285},"39":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"getting_started":0.125,"reporting":0.125,"an":0.125,"issue":0.125},"40":{"psi":0.16666666666666666,"main":0.16666666666666666,"zh":0.16666666666666666,"cn":0.16666666666666666,"development":0.3333333333333333},"41":{"psi":0.2222222222222222,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"development":0.1111111111111111,"psi_protocol_intro":0.1111111111111111,"protocols":0.1111111111111111,"introduction":0.1111111111111111},"42":{"psi":0.25,"main":0.125,"zh":0.125,"cn":0.125,"development":0.125,"psi_protocol_intro":0.125,"ecdh":0.125},"43":{"psi":0.2222222222222222,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"development":0.1111111111111111,"psi_protocol_intro":0.1111111111111111,"ecdh":0.1111111111111111,"3p":0.1111111111111111},"44":{"psi":0.25,"main":0.125,"zh":0.125,"cn":0.125,"development":0.125,"psi_protocol_intro":0.125,"kkrt16":0.125},"45":{"psi":0.2222222222222222,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"development":0.1111111111111111,"psi_protocol_intro":0.1111111111111111,"differentially":0.1111111111111111,"private":0.1111111111111111},"46":{"psi":0.25,"main":0.125,"zh":0.125,"cn":0.125,"development":0.125,"psi_protocol_intro":0.125,"unbalanced":0.125},"47":{"psi":0.2,"main":0.1,"zh":0.1,"cn":0.1,"development":0.1,"psi_protocol_intro":0.1,"ecdh":0.1,"oprf":0.1,"based":0.1},"48":{"psi":0.25,"main":0.125,"zh":0.125,"cn":0.125,"development":0.125,"psi_protocol_intro":0.125,"labeled":0.125},"49":{"psi":0.2,"main":0.1,"zh":0.1,"cn":0.1,"development":0.1,"psi_protocol_intro":0.1,"rr22":0.1,"blazing":0.1,"fast":0.1},"50":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"development":0.14285714285714285,"psi_protocol_intro":0.14285714285714285,"reference":0.14285714285714285},"51":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.2857142857142857,"api":0.14285714285714285},"52":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"reference":0.125,"pir_config":0.125,"pir":0.125,"configuration":0.125},"53":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"reference":0.1111111111111111,"pir_config":0.1111111111111111,"table":0.1111111111111111,"of":0.1111111111111111,"contents":0.1111111111111111},"54":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"pir_config":0.14285714285714285,"messages":0.14285714285714285},"55":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"pir_config":0.14285714285714285,"apsireceiverconfig":0.14285714285714285},"56":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"pir_config":0.14285714285714285,"apsisenderconfig":0.14285714285714285},"57":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"pir_config":0.14285714285714285,"pirresultreport":0.14285714285714285},"58":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"pir_config":0.14285714285714285,"enums":0.14285714285714285},"59":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"reference":0.1111111111111111,"pir_config":0.1111111111111111,"scalar":0.1111111111111111,"value":0.1111111111111111,"types":0.1111111111111111},"60":{"psi":0.2222222222222222,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"reference":0.1111111111111111,"psi_v2_config":0.1111111111111111,"v2":0.1111111111111111,"configuration":0.1111111111111111},"61":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"reference":0.1111111111111111,"psi_v2_config":0.1111111111111111,"table":0.1111111111111111,"of":0.1111111111111111,"contents":0.1111111111111111},"62":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"messages":0.14285714285714285},"63":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"debugoptions":0.14285714285714285},"64":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"ecdhconfig":0.14285714285714285},"65":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"inputattr":0.14285714285714285},"66":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"ioconfig":0.14285714285714285},"67":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"kkrtconfig":0.14285714285714285},"68":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"outputattr":0.14285714285714285},"69":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"protocolconfig":0.14285714285714285},"70":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"psiconfig":0.14285714285714285},"71":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"recoveryconfig":0.14285714285714285},"72":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"rr22config":0.14285714285714285},"73":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"ubpsiconfig":0.14285714285714285},"74":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"enums":0.14285714285714285},"75":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"iotype":0.14285714285714285},"76":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"protocol":0.14285714285714285},"77":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"reference":0.125,"psi_v2_config":0.125,"psiconfig":0.125,"advancedjointype":0.125},"78":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_v2_config":0.14285714285714285,"role":0.14285714285714285},"79":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"reference":0.125,"psi_v2_config":0.125,"ubpsiconfig":0.125,"mode":0.125},"80":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"reference":0.1111111111111111,"psi_v2_config":0.1111111111111111,"scalar":0.1111111111111111,"value":0.1111111111111111,"types":0.1111111111111111},"81":{"psi":0.2222222222222222,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"reference":0.1111111111111111,"psi_config":0.1111111111111111,"v1":0.1111111111111111,"configuration":0.1111111111111111},"82":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"reference":0.1111111111111111,"psi_config":0.1111111111111111,"table":0.1111111111111111,"of":0.1111111111111111,"contents":0.1111111111111111},"83":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_config":0.14285714285714285,"messages":0.14285714285714285},"84":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_config":0.14285714285714285,"bucketpsiconfig":0.14285714285714285},"85":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_config":0.14285714285714285,"dppsiparams":0.14285714285714285},"86":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_config":0.14285714285714285,"inputparams":0.14285714285714285},"87":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_config":0.14285714285714285,"memorypsiconfig":0.14285714285714285},"88":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_config":0.14285714285714285,"outputparams":0.14285714285714285},"89":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_config":0.14285714285714285,"psiresultreport":0.14285714285714285},"90":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_config":0.14285714285714285,"enums":0.14285714285714285},"91":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_config":0.14285714285714285,"curvetype":0.14285714285714285},"92":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"psi_config":0.14285714285714285,"psitype":0.14285714285714285},"93":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"reference":0.1111111111111111,"psi_config":0.1111111111111111,"scalar":0.1111111111111111,"value":0.1111111111111111,"types":0.1111111111111111},"94":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"reference":0.125,"launch_config":0.125,"launch":0.125,"configuration":0.125},"95":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"reference":0.1111111111111111,"launch_config":0.1111111111111111,"table":0.1111111111111111,"of":0.1111111111111111,"contents":0.1111111111111111},"96":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"messages":0.14285714285714285},"97":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"launchconfig":0.14285714285714285},"98":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"enums":0.14285714285714285},"99":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"id1":0.14285714285714285},"100":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"allocatedports":0.14285714285714285},"101":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"clusterdefine":0.14285714285714285},"102":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"party":0.14285714285714285},"103":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"port":0.14285714285714285},"104":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"service":0.14285714285714285},"105":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"taskinputconfig":0.14285714285714285},"106":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"reference":0.125,"launch_config":0.125,"taskinputconfig":0.125,"sfpsiconfigmapentry":0.125},"107":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"id2":0.14285714285714285},"108":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"id3":0.14285714285714285},"109":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"contextdescproto":0.14285714285714285},"110":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"partyproto":0.14285714285714285},"111":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"retryoptionsproto":0.14285714285714285},"112":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"ssloptionsproto":0.14285714285714285},"113":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"reference":0.14285714285714285,"launch_config":0.14285714285714285,"id4":0.14285714285714285},"114":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"reference":0.1111111111111111,"launch_config":0.1111111111111111,"scalar":0.1111111111111111,"value":0.1111111111111111,"types":0.1111111111111111},"115":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"user_guide":0.14285714285714285,"user":0.14285714285714285,"guide":0.14285714285714285},"116":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"apsi_benchmark":0.125,"apsi":0.125,"benchmark":0.125},"117":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"apsi_benchmark":0.1111111111111111,"building":0.1111111111111111,"from":0.1111111111111111,"source":0.1111111111111111},"118":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"apsi_benchmark":0.125,"generate":0.125,"data":0.125},"119":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"apsi_benchmark":0.1111111111111111,"prepare":0.1111111111111111,"config":0.1111111111111111,"file":0.1111111111111111},"120":{"psi":0.1,"main":0.1,"zh":0.1,"cn":0.1,"user_guide":0.1,"apsi_benchmark":0.1,"apsi":0.1,"sender":0.1,"setup":0.1,"json":0.1},"121":{"psi":0.1,"main":0.1,"zh":0.1,"cn":0.1,"user_guide":0.1,"apsi_benchmark":0.1,"apsi":0.1,"sender":0.1,"online":0.1,"json":0.1},"122":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"apsi_benchmark":0.1111111111111111,"apsi":0.1111111111111111,"receiver":0.1111111111111111,"json":0.1111111111111111},"123":{"psi":0.1,"main":0.1,"zh":0.1,"cn":0.1,"user_guide":0.1,"apsi_benchmark":0.1,"run":0.1,"apsi":0.1,"with":0.1,"docker":0.1},"124":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"apsi_benchmark":0.1111111111111111,"apsi":0.1111111111111111,"sender":0.1111111111111111,"32c64g":0.1111111111111111},"125":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"apsi_benchmark":0.1111111111111111,"apsi":0.1111111111111111,"receiver":0.1111111111111111,"16c32g":0.1111111111111111},"126":{"psi":0.1,"main":0.1,"zh":0.1,"cn":0.1,"user_guide":0.1,"apsi_benchmark":0.1,"limit":0.1,"bandwidth":0.1,"and":0.1,"latency":0.1},"127":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"user_guide":0.14285714285714285,"apsi_benchmark":0.14285714285714285,"benchmark":0.14285714285714285},"128":{"psi":0.2222222222222222,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"psi_v2":0.1111111111111111,"v2":0.1111111111111111,"quickstart":0.1111111111111111},"129":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"psi_v2":0.125,"release":0.125,"docker":0.125},"130":{"psi":0.1,"main":0.1,"zh":0.1,"cn":0.1,"user_guide":0.1,"psi_v2":0.1,"prepare":0.1,"data":0.1,"and":0.1,"config":0.1},"131":{"psi":0.25,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"psi_v2":0.125,"run":0.125},"132":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"psi_v2":0.1111111111111111,"building":0.1111111111111111,"from":0.1111111111111111,"source":0.1111111111111111},"133":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"psi_v2":0.125,"more":0.125,"examples":0.125},"134":{"psi":0.25,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"psi_v2":0.125,"ub":0.125},"135":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"pir":0.25,"quickstart":0.125},"136":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"pir":0.125,"supported":0.125,"protocols":0.125},"137":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"pir":0.125,"release":0.125,"docker":0.125},"138":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"pir":0.2222222222222222,"keyword":0.1111111111111111,"apsi":0.1111111111111111},"139":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"pir":0.125,"before":0.125,"start":0.125},"140":{"psi":0.1,"main":0.1,"zh":0.1,"cn":0.1,"user_guide":0.1,"pir":0.1,"prepare":0.1,"data":0.1,"and":0.1,"config":0.1},"141":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"pir":0.125,"csv":0.125,"file":0.125},"142":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"pir":0.1111111111111111,"apsi":0.1111111111111111,"params":0.1111111111111111,"file":0.1111111111111111},"143":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"pir":0.25,"config":0.125},"144":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"pir":0.125,"full":0.125,"examples":0.125},"145":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"pir":0.125,"bucketized":0.125,"mode":0.125},"146":{"psi":0.1,"main":0.1,"zh":0.1,"cn":0.1,"user_guide":0.1,"faq":0.2,"frequently":0.1,"asked":0.1,"questions":0.1},"147":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"faq":0.125,"config":0.125,"issues":0.125},"148":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"faq":0.125,"feature":0.125,"issues":0.125},"149":{"psi":0.2222222222222222,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"psi_v2_benchmark":0.1111111111111111,"v2":0.1111111111111111,"benchmark":0.1111111111111111},"150":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"psi_v2_benchmark":0.1111111111111111,"building":0.1111111111111111,"from":0.1111111111111111,"source":0.1111111111111111},"151":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"psi_v2_benchmark":0.125,"generate":0.125,"data":0.125},"152":{"psi":0.1111111111111111,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"psi_v2_benchmark":0.1111111111111111,"prepare":0.1111111111111111,"config":0.1111111111111111,"file":0.1111111111111111},"153":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"psi_v2_benchmark":0.125,"sender":0.125,"config":0.125},"154":{"psi":0.125,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"psi_v2_benchmark":0.125,"receiver":0.125,"config":0.125},"155":{"psi":0.2,"main":0.1,"zh":0.1,"cn":0.1,"user_guide":0.1,"psi_v2_benchmark":0.1,"run":0.1,"with":0.1,"docker":0.1},"156":{"psi":0.1,"main":0.1,"zh":0.1,"cn":0.1,"user_guide":0.1,"psi_v2_benchmark":0.1,"limit":0.1,"bandwidth":0.1,"and":0.1,"latency":0.1},"157":{"psi":0.14285714285714285,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"user_guide":0.14285714285714285,"psi_v2_benchmark":0.14285714285714285,"benchmark":0.14285714285714285},"158":{"psi":0.3,"main":0.1,"zh":0.1,"cn":0.1,"user_guide":0.1,"v1":0.1,"quickstart":0.1,"deprecated":0.1},"159":{"psi":0.25,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"supported":0.125,"protocols":0.125},"160":{"psi":0.2,"main":0.1,"zh":0.1,"cn":0.1,"user_guide":0.1,"prepare":0.1,"data":0.1,"and":0.1,"config":0.1},"161":{"psi":0.25,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"release":0.125,"docker":0.125},"162":{"psi":0.375,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"run":0.125},"163":{"psi":0.2222222222222222,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"building":0.1111111111111111,"from":0.1111111111111111,"source":0.1111111111111111},"164":{"psi":0.2857142857142857,"main":0.14285714285714285,"zh":0.14285714285714285,"cn":0.14285714285714285,"user_guide":0.14285714285714285,"benchmark":0.14285714285714285},"165":{"psi":0.3333333333333333,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"ecdh":0.1111111111111111,"benchmark":0.1111111111111111},"166":{"psi":0.3333333333333333,"main":0.1111111111111111,"zh":0.1111111111111111,"cn":0.1111111111111111,"user_guide":0.1111111111111111,"kkrt":0.1111111111111111,"benchmark":0.1111111111111111},"167":{"psi":0.25,"main":0.125,"zh":0.125,"cn":0.125,"user_guide":0.125,"security":0.125,"tips":0.125}},"title":{"1":{"欢":0.09090909090909091,"迎":0.09090909090909091,"查":0.09090909090909091,"看":0.09090909090909091,"secretflow":0.09090909090909091,"psi":0.09090909090909091,"的":0.09090909090909091,"相":0.09090909090909091,"关":0.09090909090909091,"文":0.09090909090909091,"档":0.09090909090909091},"2":{"发":0.25,"版":0.25,"说":0.25,"明":0.25},"3":{"发":0.3333333333333333,"版":0.16666666666666666,"说":0.16666666666666666,"明":0.16666666666666666,"布":0.16666666666666666},"4":{"5":0.14285714285714285,"发":0.14285714285714285,"版":0.14285714285714285,"说":0.14285714285714285,"明":0.14285714285714285,"v0":0.14285714285714285,"0beta":0.14285714285714285},"5":{"3":0.14285714285714285,"发":0.14285714285714285,"版":0.14285714285714285,"说":0.14285714285714285,"明":0.14285714285714285,"v0":0.14285714285714285,"0beta":0.14285714285714285},"6":{"4":0.14285714285714285,"发":0.14285714285714285,"版":0.14285714285714285,"说":0.14285714285714285,"明":0.14285714285714285,"v0":0.14285714285714285,"0beta":0.14285714285714285},"7":{"0":0.125,"4":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"v0":0.125,"dev240801":0.125},"8":{"0":0.125,"4":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"v0":0.125,"dev240731":0.125},"9":{"0":0.125,"4":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"v0":0.125,"dev240521":0.125},"10":{"0":0.125,"4":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"v0":0.125,"dev240517":0.125},"11":{"0":0.125,"4":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"v0":0.125,"dev240514":0.125},"12":{"0":0.125,"4":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"v0":0.125,"dev240401":0.125},"13":{"0":0.125,"4":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"v0":0.125,"dev240329":0.125},"14":{"3":0.14285714285714285,"发":0.14285714285714285,"版":0.14285714285714285,"说":0.14285714285714285,"明":0.14285714285714285,"v0":0.14285714285714285,"0beta":0.14285714285714285},"15":{"0":0.125,"3":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"v0":0.125,"dev240304":0.125},"16":{"0":0.25,"3":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"dev240222":0.125},"17":{"0":0.125,"3":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"v0":0.125,"dev240219":0.125},"18":{"0":0.125,"2":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"v0":0.125,"dev240123":0.125},"19":{"0":0.125,"2":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"v0":0.125,"dev231228":0.125},"20":{"0":0.125,"2":0.125,"发":0.125,"版":0.125,"说":0.125,"明":0.125,"v0":0.125,"dev231221":0.125},"21":{"1":0.14285714285714285,"发":0.14285714285714285,"版":0.14285714285714285,"说":0.14285714285714285,"明":0.14285714285714285,"v0":0.14285714285714285,"0beta":0.14285714285714285},"22":{"入":0.25,"门":0.25,"指":0.25,"南":0.25},"23":{"入":0.125,"门":0.125,"指":0.125,"南":0.125,"安":0.125,"装":0.125,"说":0.125,"明":0.125},"24":{"入":0.1,"门":0.1,"指":0.1,"南":0.1,"c":0.1,"二":0.1,"进":0.1,"制":0.1,"文":0.1,"件":0.1},"25":{"入":0.09090909090909091,"门":0.09090909090909091,"指":0.09090909090909091,"南":0.09090909090909091,"已":0.09090909090909091,"发":0.09090909090909091,"布":0.09090909090909091,"的":0.09090909090909091,"docker":0.09090909090909091,"镜":0.09090909090909091,"像":0.09090909090909091},"26":{"入":0.125,"门":0.125,"指":0.125,"南":0.125,"源":0.125,"码":0.125,"编":0.125,"译":0.125},"27":{"入":0.16666666666666666,"门":0.16666666666666666,"指":0.16666666666666666,"南":0.16666666666666666,"python":0.16666666666666666,"包":0.16666666666666666},"28":{"入":0.2,"门":0.2,"指":0.2,"南":0.2,"spu":0.2},"29":{"入":0.2,"门":0.2,"指":0.2,"南":0.2,"secretflow":0.2},"30":{"入":0.125,"门":0.125,"指":0.125,"南":0.125,"相":0.125,"关":0.125,"应":0.125,"用":0.125},"31":{"入":0.2,"门":0.2,"指":0.2,"南":0.2,"scql":0.2},"32":{"入":0.2,"门":0.2,"指":0.2,"南":0.2,"secretpad":0.2},"33":{"入":0.09090909090909091,"门":0.09090909090909091,"指":0.09090909090909091,"南":0.09090909090909091,"不":0.09090909090909091,"推":0.09090909090909091,"荐":0.09090909090909091,"使":0.09090909090909091,"用":0.09090909090909091,"easy":0.09090909090909091,"psi":0.09090909090909091},"34":{"入":0.125,"门":0.125,"指":0.125,"南":0.125,"编":0.125,"译":0.125,"说":0.125,"明":0.125},"35":{"入":0.1,"门":0.1,"指":0.1,"南":0.1,"系":0.1,"统":0.1,"环":0.1,"境":0.1,"准":0.1,"备":0.1},"36":{"入":0.1,"门":0.1,"指":0.1,"南":0.1,"开":0.1,"发":0.1,"版":0.1,"docker":0.1,"镜":0.1,"像":0.1},"37":{"入":0.2,"门":0.2,"指":0.2,"南":0.2,"linux":0.2},"38":{"入":0.09090909090909091,"门":0.09090909090909091,"指":0.09090909090909091,"南":0.09090909090909091,"构":0.09090909090909091,"建":0.09090909090909091,"与":0.09090909090909091,"单":0.09090909090909091,"元":0.09090909090909091,"测":0.09090909090909091,"试":0.09090909090909091},"39":{"入":0.125,"门":0.125,"指":0.125,"南":0.125,"问":0.125,"题":0.125,"反":0.125,"馈":0.125},"40":{"开":0.2,"发":0.2,"者":0.2,"指":0.2,"南":0.2},"41":{"psi":0.2,"协":0.2,"议":0.2,"介":0.2,"绍":0.2},"42":{"psi":0.2222222222222222,"协":0.2222222222222222,"议":0.2222222222222222,"介":0.1111111111111111,"绍":0.1111111111111111,"ecdh":0.1111111111111111},"43":{"psi":0.18181818181818182,"协":0.18181818181818182,"议":0.18181818181818182,"介":0.09090909090909091,"绍":0.09090909090909091,"ecdh":0.09090909090909091,"三":0.09090909090909091,"方":0.09090909090909091},"44":{"psi":0.2222222222222222,"协":0.2222222222222222,"议":0.2222222222222222,"介":0.1111111111111111,"绍":0.1111111111111111,"kkrt16":0.1111111111111111},"45":{"psi":0.16666666666666666,"协":0.16666666666666666,"议":0.16666666666666666,"介":0.08333333333333333,"绍":0.08333333333333333,"差":0.08333333333333333,"分":0.08333333333333333,"隐":0.08333333333333333,"私":0.08333333333333333},"46":{"psi":0.18181818181818182,"协":0.18181818181818182,"议":0.18181818181818182,"介":0.09090909090909091,"绍":0.09090909090909091,"非":0.09090909090909091,"平":0.09090909090909091,"衡":0.09090909090909091},"47":{"psi":0.15384615384615385,"协":0.15384615384615385,"议":0.15384615384615385,"介":0.07692307692307693,"绍":0.07692307692307693,"基":0.07692307692307693,"于":0.07692307692307693,"ecdh":0.07692307692307693,"oprf":0.07692307692307693,"的":0.07692307692307693},"48":{"psi":0.25,"协":0.125,"议":0.125,"介":0.125,"绍":0.125,"标":0.125,"签":0.125},"49":{"psi":0.18181818181818182,"协":0.18181818181818182,"议":0.18181818181818182,"介":0.09090909090909091,"绍":0.09090909090909091,"rr22":0.09090909090909091,"高":0.09090909090909091,"速":0.09090909090909091},"50":{"psi":0.1111111111111111,"协":0.1111111111111111,"议":0.1111111111111111,"介":0.1111111111111111,"绍":0.1111111111111111,"参":0.1111111111111111,"考":0.1111111111111111,"实":0.1111111111111111,"现":0.1111111111111111},"51":{"api":0.5,"reference":0.5},"52":{"pir":0.3333333333333333,"配":0.3333333333333333,"置":0.3333333333333333},"53":{"pir":0.2,"配":0.2,"置":0.2,"目":0.2,"录":0.2},"54":{"pir":0.2,"配":0.2,"置":0.2,"说":0.2,"明":0.2},"55":{"pir":0.1111111111111111,"配":0.2222222222222222,"置":0.2222222222222222,"apsi":0.1111111111111111,"接":0.1111111111111111,"收":0.1111111111111111,"方":0.1111111111111111},"56":{"pir":0.1111111111111111,"配":0.2222222222222222,"置":0.2222222222222222,"apsi":0.1111111111111111,"发":0.1111111111111111,"送":0.1111111111111111,"方":0.1111111111111111},"57":{"pir":0.25,"配":0.125,"置":0.125,"结":0.125,"果":0.125,"报":0.125,"告":0.125},"58":{"pir":0.2,"配":0.2,"置":0.2,"枚":0.2,"举":0.2},"59":{"pir":0.125,"配":0.125,"置":0.125,"标":0.125,"量":0.125,"值":0.125,"类":0.125,"型":0.125},"60":{"psi":0.25,"v2":0.25,"配":0.25,"置":0.25},"61":{"psi":0.16666666666666666,"v2":0.16666666666666666,"配":0.16666666666666666,"置":0.16666666666666666,"目":0.16666666666666666,"录":0.16666666666666666},"62":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"messages":0.2},"63":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"debugoptions":0.2},"64":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"ecdhconfig":0.2},"65":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"inputattr":0.2},"66":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"ioconfig":0.2},"67":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"kkrtconfig":0.2},"68":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"outputattr":0.2},"69":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"protocolconfig":0.2},"70":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"psiconfig":0.2},"71":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"recoveryconfig":0.2},"72":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"rr22config":0.2},"73":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"ubpsiconfig":0.2},"74":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"enums":0.2},"75":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"iotype":0.2},"76":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"protocol":0.2},"77":{"psi":0.16666666666666666,"v2":0.16666666666666666,"配":0.16666666666666666,"置":0.16666666666666666,"psiconfig":0.16666666666666666,"advancedjointype":0.16666666666666666},"78":{"psi":0.2,"v2":0.2,"配":0.2,"置":0.2,"role":0.2},"79":{"psi":0.16666666666666666,"v2":0.16666666666666666,"配":0.16666666666666666,"置":0.16666666666666666,"ubpsiconfig":0.16666666666666666,"mode":0.16666666666666666},"80":{"psi":0.1111111111111111,"v2":0.1111111111111111,"配":0.1111111111111111,"置":0.1111111111111111,"标":0.1111111111111111,"量":0.1111111111111111,"值":0.1111111111111111,"类":0.1111111111111111,"型":0.1111111111111111},"81":{"psi":0.25,"v1":0.25,"配":0.25,"置":0.25},"82":{"psi":0.16666666666666666,"v1":0.16666666666666666,"配":0.16666666666666666,"置":0.16666666666666666,"目":0.16666666666666666,"录":0.16666666666666666},"83":{"psi":0.16666666666666666,"v1":0.16666666666666666,"配":0.16666666666666666,"置":0.16666666666666666,"消":0.16666666666666666,"息":0.16666666666666666},"84":{"psi":0.2,"v1":0.2,"配":0.2,"置":0.2,"bucketpsiconfig":0.2},"85":{"psi":0.2,"v1":0.2,"配":0.2,"置":0.2,"dppsiparams":0.2},"86":{"psi":0.125,"v1":0.125,"配":0.125,"置":0.125,"输":0.125,"入":0.125,"参":0.125,"数":0.125},"87":{"psi":0.2,"v1":0.2,"配":0.2,"置":0.2,"memorypsiconfig":0.2},"88":{"psi":0.125,"v1":0.125,"配":0.125,"置":0.125,"输":0.125,"出":0.125,"参":0.125,"数":0.125},"89":{"psi":0.2,"v1":0.2,"配":0.2,"置":0.2,"psiresultreport":0.2},"90":{"psi":0.16666666666666666,"v1":0.16666666666666666,"配":0.16666666666666666,"置":0.16666666666666666,"枚":0.16666666666666666,"举":0.16666666666666666},"91":{"psi":0.2,"v1":0.2,"配":0.2,"置":0.2,"curvetype":0.2},"92":{"psi":0.2,"v1":0.2,"配":0.2,"置":0.2,"psitype":0.2},"93":{"psi":0.1111111111111111,"v1":0.1111111111111111,"配":0.1111111111111111,"置":0.1111111111111111,"标":0.1111111111111111,"量":0.1111111111111111,"值":0.1111111111111111,"类":0.1111111111111111,"型":0.1111111111111111},"94":{"启":0.25,"动":0.25,"配":0.25,"置":0.25},"95":{"启":0.16666666666666666,"动":0.16666666666666666,"配":0.16666666666666666,"置":0.16666666666666666,"目":0.16666666666666666,"录":0.16666666666666666},"96":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"messages":0.2},"97":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"launchconfig":0.2},"98":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"enums":0.2},"99":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"messages":0.2},"100":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"allocatedports":0.2},"101":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"clusterdefine":0.2},"102":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"party":0.2},"103":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"port":0.2},"104":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"service":0.2},"105":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"taskinputconfig":0.2},"106":{"启":0.16666666666666666,"动":0.16666666666666666,"配":0.16666666666666666,"置":0.16666666666666666,"taskinputconfig":0.16666666666666666,"sfpsiconfigmapentry":0.16666666666666666},"107":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"enums":0.2},"108":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"messages":0.2},"109":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"contextdescproto":0.2},"110":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"partyproto":0.2},"111":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"retryoptionsproto":0.2},"112":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"ssloptionsproto":0.2},"113":{"启":0.2,"动":0.2,"配":0.2,"置":0.2,"enums":0.2},"114":{"启":0.1111111111111111,"动":0.1111111111111111,"配":0.1111111111111111,"置":0.1111111111111111,"标":0.1111111111111111,"量":0.1111111111111111,"值":0.1111111111111111,"类":0.1111111111111111,"型":0.1111111111111111},"115":{"用":0.25,"户":0.25,"指":0.25,"南":0.25},"116":{"apsi":0.2,"基":0.2,"准":0.2,"测":0.2,"试":0.2},"117":{"apsi":0.08333333333333333,"基":0.08333333333333333,"准":0.08333333333333333,"测":0.08333333333333333,"试":0.08333333333333333,"从":0.08333333333333333,"源":0.08333333333333333,"码":0.08333333333333333,"进":0.08333333333333333,"行":0.08333333333333333,"构":0.08333333333333333,"建":0.08333333333333333},"118":{"apsi":0.1111111111111111,"基":0.1111111111111111,"准":0.1111111111111111,"测":0.1111111111111111,"试":0.1111111111111111,"生":0.1111111111111111,"成":0.1111111111111111,"数":0.1111111111111111,"据":0.1111111111111111},"119":{"apsi":0.09090909090909091,"基":0.09090909090909091,"准":0.18181818181818182,"测":0.09090909090909091,"试":0.09090909090909091,"备":0.09090909090909091,"配":0.09090909090909091,"置":0.09090909090909091,"文":0.09090909090909091,"件":0.09090909090909091},"120":{"apsi":0.14285714285714285,"基":0.14285714285714285,"准":0.14285714285714285,"测":0.14285714285714285,"试":0.14285714285714285,"apsi_sender_setup":0.14285714285714285,"json":0.14285714285714285},"121":{"apsi":0.14285714285714285,"基":0.14285714285714285,"准":0.14285714285714285,"测":0.14285714285714285,"试":0.14285714285714285,"apsi_sender_online":0.14285714285714285,"json":0.14285714285714285},"122":{"apsi":0.14285714285714285,"基":0.14285714285714285,"准":0.14285714285714285,"测":0.14285714285714285,"试":0.14285714285714285,"apsi_receiver":0.14285714285714285,"json":0.14285714285714285},"123":{"apsi":0.18181818181818182,"基":0.09090909090909091,"准":0.09090909090909091,"测":0.09090909090909091,"试":0.09090909090909091,"使":0.09090909090909091,"用":0.09090909090909091,"docker":0.09090909090909091,"运":0.09090909090909091,"行":0.09090909090909091},"124":{"apsi":0.14285714285714285,"基":0.14285714285714285,"准":0.14285714285714285,"测":0.14285714285714285,"试":0.14285714285714285,"apsi_sender":0.14285714285714285,"32c64g":0.14285714285714285},"125":{"apsi":0.14285714285714285,"基":0.14285714285714285,"准":0.14285714285714285,"测":0.14285714285714285,"试":0.14285714285714285,"apsi_receiver":0.14285714285714285,"16c32g":0.14285714285714285},"126":{"apsi":0.08333333333333333,"基":0.08333333333333333,"准":0.08333333333333333,"测":0.08333333333333333,"试":0.08333333333333333,"限":0.08333333333333333,"制":0.08333333333333333,"带":0.08333333333333333,"宽":0.08333333333333333,"和":0.08333333333333333,"延":0.08333333333333333,"迟":0.08333333333333333},"127":{"apsi":0.16666666666666666,"基":0.16666666666666666,"准":0.16666666666666666,"测":0.16666666666666666,"试":0.16666666666666666,"benchmark":0.16666666666666666},"128":{"psi":0.16666666666666666,"v2":0.16666666666666666,"快":0.16666666666666666,"速":0.16666666666666666,"入":0.16666666666666666,"门":0.16666666666666666},"129":{"psi":0.1111111111111111,"v2":0.1111111111111111,"快":0.1111111111111111,"速":0.1111111111111111,"入":0.1111111111111111,"门":0.1111111111111111,"docker":0.1111111111111111,"镜":0.1111111111111111,"像":0.1111111111111111},"130":{"psi":0.07692307692307693,"v2":0.07692307692307693,"快":0.07692307692307693,"速":0.07692307692307693,"入":0.07692307692307693,"门":0.07692307692307693,"准":0.07692307692307693,"备":0.07692307692307693,"数":0.07692307692307693,"据":0.07692307692307693,"和":0.07692307692307693,"配":0.07692307692307693,"置":0.07692307692307693},"131":{"psi":0.2222222222222222,"v2":0.1111111111111111,"快":0.1111111111111111,"速":0.1111111111111111,"入":0.1111111111111111,"门":0.1111111111111111,"运":0.1111111111111111,"行":0.1111111111111111},"132":{"psi":0.1,"v2":0.1,"快":0.1,"速":0.1,"入":0.1,"门":0.1,"源":0.1,"码":0.1,"构":0.1,"建":0.1},"133":{"psi":0.1,"v2":0.1,"快":0.1,"速":0.1,"入":0.1,"门":0.1,"更":0.1,"多":0.1,"示":0.1,"例":0.1},"134":{"psi":0.2,"v2":0.1,"快":0.1,"速":0.1,"入":0.1,"门":0.1,"非":0.1,"平":0.1,"衡":0.1},"135":{"pir":0.2,"快":0.2,"速":0.2,"入":0.2,"门":0.2},"136":{"pir":0.1,"快":0.1,"速":0.1,"入":0.1,"门":0.1,"支":0.1,"持":0.1,"的":0.1,"协":0.1,"议":0.1},"137":{"pir":0.1,"快":0.1,"速":0.1,"入":0.1,"门":0.1,"发":0.1,"布":0.1,"docker":0.1,"镜":0.1,"像":0.1},"138":{"pir":0.25,"快":0.125,"速":0.125,"入":0.125,"门":0.125,"keyword":0.125,"apsi":0.125},"139":{"pir":0.1,"快":0.1,"速":0.1,"入":0.1,"门":0.1,"开":0.1,"始":0.1,"前":0.1,"准":0.1,"备":0.1},"140":{"pir":0.08333333333333333,"快":0.08333333333333333,"速":0.08333333333333333,"入":0.08333333333333333,"门":0.08333333333333333,"准":0.08333333333333333,"备":0.08333333333333333,"数":0.08333333333333333,"据":0.08333333333333333,"和":0.08333333333333333,"配":0.08333333333333333,"置":0.08333333333333333},"141":{"pir":0.125,"快":0.125,"速":0.125,"入":0.125,"门":0.125,"csv":0.125,"文":0.125,"件":0.125},"142":{"pir":0.1,"快":0.1,"速":0.1,"入":0.1,"门":0.1,"apsi":0.1,"参":0.1,"数":0.1,"文":0.1,"件":0.1},"143":{"pir":0.25,"快":0.125,"速":0.125,"入":0.125,"门":0.125,"配":0.125,"置":0.125},"144":{"pir":0.1111111111111111,"快":0.1111111111111111,"速":0.1111111111111111,"入":0.1111111111111111,"门":0.1111111111111111,"完":0.1111111111111111,"整":0.1111111111111111,"示":0.1111111111111111,"例":0.1111111111111111},"145":{"pir":0.1111111111111111,"快":0.1111111111111111,"速":0.1111111111111111,"入":0.1111111111111111,"门":0.1111111111111111,"分":0.1111111111111111,"桶":0.1111111111111111,"模":0.1111111111111111,"式":0.1111111111111111},"146":{"常":0.2,"见":0.2,"问":0.2,"题":0.2,"faq":0.2},"147":{"常":0.1111111111111111,"见":0.1111111111111111,"问":0.2222222222222222,"题":0.2222222222222222,"faq":0.1111111111111111,"配":0.1111111111111111,"置":0.1111111111111111},"148":{"常":0.1111111111111111,"见":0.1111111111111111,"问":0.2222222222222222,"题":0.2222222222222222,"faq":0.1111111111111111,"特":0.1111111111111111,"性":0.1111111111111111},"149":{"psi":0.16666666666666666,"v2":0.16666666666666666,"基":0.16666666666666666,"准":0.16666666666666666,"测":0.16666666666666666,"试":0.16666666666666666},"150":{"psi":0.1,"v2":0.1,"基":0.1,"准":0.1,"测":0.1,"试":0.1,"源":0.1,"码":0.1,"构":0.1,"建":0.1},"151":{"psi":0.1,"v2":0.1,"基":0.1,"准":0.1,"测":0.1,"试":0.1,"生":0.1,"成":0.1,"数":0.1,"据":0.1},"152":{"psi":0.08333333333333333,"v2":0.08333333333333333,"基":0.08333333333333333,"准":0.16666666666666666,"测":0.08333333333333333,"试":0.08333333333333333,"备":0.08333333333333333,"配":0.08333333333333333,"置":0.08333333333333333,"文":0.08333333333333333,"件":0.08333333333333333},"153":{"psi":0.125,"v2":0.125,"基":0.125,"准":0.125,"测":0.125,"试":0.125,"sender":0.125,"config":0.125},"154":{"psi":0.125,"v2":0.125,"基":0.125,"准":0.125,"测":0.125,"试":0.125,"receiver":0.125,"config":0.125},"155":{"psi":0.16666666666666666,"v2":0.08333333333333333,"基":0.08333333333333333,"准":0.08333333333333333,"测":0.08333333333333333,"试":0.08333333333333333,"使":0.08333333333333333,"用":0.08333333333333333,"docker":0.08333333333333333,"运":0.08333333333333333,"行":0.08333333333333333},"156":{"psi":0.07692307692307693,"v2":0.07692307692307693,"基":0.07692307692307693,"准":0.07692307692307693,"测":0.07692307692307693,"试":0.07692307692307693,"限":0.07692307692307693,"制":0.07692307692307693,"带":0.07692307692307693,"宽":0.07692307692307693,"和":0.07692307692307693,"延":0.07692307692307693,"迟":0.07692307692307693},"157":{"psi":0.1,"v2":0.1,"基":0.2,"准":0.2,"测":0.2,"试":0.2},"158":{"psi":0.1111111111111111,"v1":0.1111111111111111,"快":0.1111111111111111,"速":0.1111111111111111,"入":0.1111111111111111,"门":0.1111111111111111,"已":0.1111111111111111,"废":0.1111111111111111,"弃":0.1111111111111111},"159":{"psi":0.07142857142857142,"v1":0.07142857142857142,"快":0.07142857142857142,"速":0.07142857142857142,"入":0.07142857142857142,"门":0.07142857142857142,"已":0.07142857142857142,"废":0.07142857142857142,"弃":0.07142857142857142,"支":0.07142857142857142,"持":0.07142857142857142,"的":0.07142857142857142,"协":0.07142857142857142,"议":0.07142857142857142},"160":{"psi":0.0625,"v1":0.0625,"快":0.0625,"速":0.0625,"入":0.0625,"门":0.0625,"已":0.0625,"废":0.0625,"弃":0.0625,"准":0.0625,"备":0.0625,"数":0.0625,"据":0.0625,"和":0.0625,"配":0.0625,"置":0.0625},"161":{"psi":0.08333333333333333,"v1":0.08333333333333333,"快":0.08333333333333333,"速":0.08333333333333333,"入":0.08333333333333333,"门":0.08333333333333333,"已":0.08333333333333333,"废":0.08333333333333333,"弃":0.08333333333333333,"docker":0.08333333333333333,"镜":0.08333333333333333,"像":0.08333333333333333},"162":{"psi":0.16666666666666666,"v1":0.08333333333333333,"快":0.08333333333333333,"速":0.08333333333333333,"入":0.08333333333333333,"门":0.08333333333333333,"已":0.08333333333333333,"废":0.08333333333333333,"弃":0.08333333333333333,"运":0.08333333333333333,"行":0.08333333333333333},"163":{"psi":0.07692307692307693,"v1":0.07692307692307693,"快":0.07692307692307693,"速":0.07692307692307693,"入":0.07692307692307693,"门":0.07692307692307693,"已":0.07692307692307693,"废":0.07692307692307693,"弃":0.07692307692307693,"源":0.07692307692307693,"码":0.07692307692307693,"编":0.07692307692307693,"译":0.07692307692307693},"164":{"psi":0.07692307692307693,"v1":0.07692307692307693,"快":0.07692307692307693,"速":0.07692307692307693,"入":0.07692307692307693,"门":0.07692307692307693,"已":0.07692307692307693,"废":0.07692307692307693,"弃":0.07692307692307693,"基":0.07692307692307693,"准":0.07692307692307693,"测":0.07692307692307693,"试":0.07692307692307693},"165":{"psi":0.13333333333333333,"v1":0.06666666666666667,"快":0.06666666666666667,"速":0.06666666666666667,"入":0.06666666666666667,"门":0.06666666666666667,"已":0.06666666666666667,"废":0.06666666666666667,"弃":0.06666666666666667,"ecdh":0.06666666666666667,"基":0.06666666666666667,"准":0.06666666666666667,"测":0.06666666666666667,"试":0.06666666666666667},"166":{"psi":0.13333333333333333,"v1":0.06666666666666667,"快":0.06666666666666667,"速":0.06666666666666667,"入":0.06666666666666667,"门":0.06666666666666667,"已":0.06666666666666667,"废":0.06666666666666667,"弃":0.06666666666666667,"kkrt":0.06666666666666667,"基":0.06666666666666667,"准":0.06666666666666667,"测":0.06666666666666667,"试":0.06666666666666667},"167":{"psi":0.07692307692307693,"v1":0.07692307692307693,"快":0.07692307692307693,"速":0.07692307692307693,"入":0.07692307692307693,"门":0.07692307692307693,"已":0.07692307692307693,"废":0.07692307692307693,"弃":0.07692307692307693,"安":0.07692307692307693,"全":0.07692307692307693,"提":0.07692307692307693,"示":0.07692307692307693}},"content":{"1":{"该":0.017543859649122806,"仓":0.05263157894736842,"包":0.017543859649122806,"含":0.017543859649122806,"secretflow":0.08771929824561403,"项":0.017543859649122806,"目":0.017543859649122806,"中":0.017543859649122806,"隐":0.03508771929824561,"私":0.017543859649122806,"求":0.017543859649122806,"交":0.017543859649122806,"psi":0.03508771929824561,"和":0.03508771929824561,"匿":0.017543859649122806,"查":0.017543859649122806,"询":0.017543859649122806,"pir":0.017543859649122806,"相":0.017543859649122806,"关":0.017543859649122806,"的":0.07017543859649122,"代":0.017543859649122806,"码":0.017543859649122806,"scql":0.03508771929824561,"secretpad":0.03508771929824561,"功":0.017543859649122806,"能":0.017543859649122806,"都":0.017543859649122806,"是":0.03508771929824561,"通":0.017543859649122806,"过":0.017543859649122806,"本":0.03508771929824561,"实":0.017543859649122806,"现":0.017543859649122806,"之":0.017543859649122806,"前":0.017543859649122806,"spu":0.03508771929824561,"一":0.017543859649122806,"部":0.017543859649122806,"分":0.017543859649122806},"2":{},"3":{"注":0.015503875968992248,"意":0.015503875968992248,"feature":0.031007751937984496,"前":0.09302325581395349,"缀":0.09302325581395349,"表":0.09302325581395349,"示":0.09302325581395349,"新":0.023255813953488372,"功":0.023255813953488372,"能":0.023255813953488372,"bugfix":0.031007751937984496,"修":0.023255813953488372,"复":0.023255813953488372,"缺":0.023255813953488372,"陷":0.023255813953488372,"api":0.06976744186046512,"变":0.023255813953488372,"更":0.023255813953488372,"improvement":0.031007751937984496,"实":0.023255813953488372,"现":0.023255813953488372,"改":0.023255813953488372,"进":0.023255813953488372,"删":0.015503875968992248,"除":0.015503875968992248,"psi_v2":0.015503875968992248,"配":0.015503875968992248,"置":0.015503875968992248,"里":0.015503875968992248,"的":0.015503875968992248,"skip_duplicates_check":0.023255813953488372},"4":{"api":0.05357142857142857,"删":0.017857142857142856,"除":0.017857142857142856,"旧":0.017857142857142856,"版":0.017857142857142856,"ub":0.03571428571428571,"psi":0.03571428571428571,"函":0.017857142857142856,"数":0.017857142857142856,"可":0.017857142857142856,"以":0.017857142857142856,"指":0.017857142857142856,"定":0.017857142857142856,"输":0.017857142857142856,"出":0.017857142857142856,"csv":0.017857142857142856,"的":0.03571428571428571,"空":0.017857142857142856,"值":0.017857142857142856,"表":0.017857142857142856,"示":0.017857142857142856,"feature":0.05357142857142857,"支":0.03571428571428571,"持":0.03571428571428571,"单":0.017857142857142856,"接":0.05357142857142857,"收":0.017857142857142856,"方":0.017857142857142856,"连":0.03571428571428571,"操":0.03571428571428571,"作":0.03571428571428571,"使":0.017857142857142856,"用":0.017857142857142856,"协":0.017857142857142856,"议":0.017857142857142856,"进":0.017857142857142856,"行":0.017857142857142856,"improvement":0.017857142857142856,"rr22":0.017857142857142856,"enhancement":0.017857142857142856,"drop":0.017857142857142856,"ic_mode":0.017857142857142856},"5":{"api":0.06349206349206349,"pir":0.06349206349206349,"experimental":0.031746031746031744,"params":0.031746031746031744,"ecdh":0.031746031746031744,"batch_size":0.047619047619047616,"improvement":0.09523809523809523,"重":0.031746031746031744,"新":0.031746031746031744,"移":0.031746031746031744,"植":0.031746031746031744,"apsi":0.031746031746031744,"临":0.031746031746031744,"时":0.031746031746031744,"目":0.031746031746031744,"录":0.031746031746031744,"清":0.031746031746031744,"理":0.031746031746031744,"在":0.031746031746031744,"中":0.031746031746031744,"使":0.031746031746031744,"用":0.031746031746031744,"arrow":0.031746031746031744,"csv":0.031746031746031744,"读":0.031746031746031744,"取":0.031746031746031744,"器":0.031746031746031744},"6":{"0":0.016666666666666666,"4":0.016666666666666666,"api":0.05,"移":0.016666666666666666,"除":0.016666666666666666,"bc22":0.016666666666666666,"协":0.016666666666666666,"议":0.016666666666666666,"为":0.016666666666666666,"docker":0.016666666666666666,"文":0.016666666666666666,"件":0.016666666666666666,"添":0.016666666666666666,"加":0.016666666666666666,"入":0.016666666666666666,"口":0.016666666666666666,"点":0.016666666666666666,"允":0.016666666666666666,"许":0.016666666666666666,"直":0.016666666666666666,"接":0.03333333333333333,"向":0.016666666666666666,"main":0.016666666666666666,"传":0.016666666666666666,"递":0.016666666666666666,"配":0.016666666666666666,"置":0.016666666666666666,"json":0.016666666666666666,"bugfix":0.03333333333333333,"修":0.03333333333333333,"复":0.03333333333333333,"ic":0.016666666666666666,"模":0.016666666666666666,"式":0.016666666666666666,"rr22":0.016666666666666666,"sealpir":0.016666666666666666,"和":0.016666666666666666,"apsi":0.016666666666666666,"improvement":0.03333333333333333,"升":0.016666666666666666,"级":0.016666666666666666,"yacl":0.016666666666666666,"至":0.016666666666666666,"5b0":0.016666666666666666,"版":0.016666666666666666,"本":0.016666666666666666,"更":0.016666666666666666,"新":0.016666666666666666,"xz":0.016666666666666666,"的":0.016666666666666666,"下":0.016666666666666666,"载":0.016666666666666666,"链":0.016666666666666666},"7":{"bugfix":0.1,"修":0.1,"复":0.1,"macos":0.1,"和":0.1,"arm":0.1,"构":0.1,"建":0.1,"问":0.1,"题":0.1},"8":{"improvement":0.0625,"重":0.0625,"新":0.0625,"移":0.125,"植":0.0625,"apsi":0.125,"feature":0.0625,"添":0.0625,"加":0.0625,"分":0.0625,"桶":0.0625,"api":0.0625,"除":0.0625,"sealpir":0.0625},"9":{"api":0.16666666666666666,"移":0.16666666666666666,"除":0.16666666666666666,"bc22":0.16666666666666666,"协":0.16666666666666666,"议":0.16666666666666666},"10":{"0":0.1,"4":0.1,"improvement":0.1,"升":0.1,"级":0.1,"yacl":0.1,"至":0.1,"5b0":0.1,"版":0.1,"本":0.1},"11":{"api":0.05714285714285714,"为":0.02857142857142857,"docker":0.02857142857142857,"文":0.02857142857142857,"件":0.02857142857142857,"添":0.02857142857142857,"加":0.02857142857142857,"入":0.02857142857142857,"口":0.02857142857142857,"点":0.02857142857142857,"允":0.02857142857142857,"许":0.02857142857142857,"直":0.02857142857142857,"接":0.02857142857142857,"向":0.02857142857142857,"main":0.02857142857142857,"传":0.02857142857142857,"递":0.02857142857142857,"配":0.02857142857142857,"置":0.02857142857142857,"json":0.02857142857142857,"bugfix":0.05714285714285714,"修":0.05714285714285714,"复":0.05714285714285714,"ic":0.02857142857142857,"模":0.02857142857142857,"式":0.02857142857142857,"rr22":0.02857142857142857,"sealpir":0.02857142857142857,"和":0.02857142857142857,"apsi":0.02857142857142857},"12":{"improvement":0.1111111111111111,"更":0.1111111111111111,"新":0.1111111111111111,"xz":0.1111111111111111,"的":0.1111111111111111,"下":0.1111111111111111,"载":0.1111111111111111,"链":0.1111111111111111,"接":0.1111111111111111},"13":{"0":0.1,"4":0.1,"improvement":0.1,"升":0.1,"级":0.1,"yacl":0.1,"至":0.1,"4b3":0.1,"版":0.1,"本":0.1},"14":{"improvement":0.05263157894736842,"在":0.05263157894736842,"系":0.02631578947368421,"统":0.02631578947368421,"临":0.02631578947368421,"时":0.02631578947368421,"文":0.02631578947368421,"件":0.02631578947368421,"夹":0.02631578947368421,"中":0.07894736842105263,"添":0.02631578947368421,"加":0.02631578947368421,"uuid":0.02631578947368421,"pir":0.02631578947368421,"使":0.02631578947368421,"用":0.02631578947368421,"arrow":0.02631578947368421,"csv":0.02631578947368421,"读":0.02631578947368421,"取":0.02631578947368421,"器":0.02631578947368421,"bugfix":0.02631578947368421,"修":0.02631578947368421,"复":0.02631578947368421,"psi":0.02631578947368421,"配":0.02631578947368421,"置":0.02631578947368421,"检":0.02631578947368421,"查":0.02631578947368421,"的":0.02631578947368421,"拼":0.02631578947368421,"写":0.02631578947368421,"错":0.02631578947368421,"误":0.02631578947368421},"15":{"api":0.25,"在":0.125,"runlegacypsi":0.125,"中":0.125,"暴":0.125,"露":0.125,"ic_mode":0.125},"16":{"api":0.4,"暴":0.2,"露":0.2,"pir":0.2},"17":{"feature":0.047619047619047616,"添":0.047619047619047616,"加":0.047619047619047616,"用":0.047619047619047616,"于":0.047619047619047616,"调":0.047619047619047616,"试":0.047619047619047616,"的":0.047619047619047616,"ecdh":0.047619047619047616,"日":0.047619047619047616,"志":0.047619047619047616,"记":0.047619047619047616,"录":0.047619047619047616,"器":0.047619047619047616,"api":0.047619047619047616,"修":0.047619047619047616,"改":0.047619047619047616,"仓":0.047619047619047616,"库":0.047619047619047616,"结":0.047619047619047616,"构":0.047619047619047616},"18":{"25519":0.016129032258064516,"feature":0.03225806451612903,"添":0.03225806451612903,"加":0.03225806451612903,"rfc9380":0.016129032258064516,"elligator2":0.016129032258064516,"hash_to_curve":0.016129032258064516,"恶":0.016129032258064516,"意":0.016129032258064516,"vole":0.016129032258064516,"psi":0.04838709677419355,"api":0.03225806451612903,"在":0.016129032258064516,"v2":0.016129032258064516,"中":0.06451612903225806,"暴":0.016129032258064516,"露":0.016129032258064516,"ub":0.016129032258064516,"improvement":0.016129032258064516,"修":0.06451612903225806,"改":0.016129032258064516,"排":0.016129032258064516,"序":0.016129032258064516,"命":0.016129032258064516,"令":0.016129032258064516,"的":0.04838709677419355,"缓":0.016129032258064516,"冲":0.016129032258064516,"区":0.016129032258064516,"大":0.016129032258064516,"小":0.016129032258064516,"bugfix":0.04838709677419355,"复":0.04838709677419355,"simpleshuffledbatchprovider":0.016129032258064516,"psi_test":0.016129032258064516,"不":0.016129032258064516,"稳":0.016129032258064516,"定":0.016129032258064516,"性":0.016129032258064516,"rr22":0.016129032258064516,"竞":0.016129032258064516,"态":0.016129032258064516,"条":0.016129032258064516,"件":0.016129032258064516},"19":{"bugfix":0.05555555555555555,"修":0.1111111111111111,"复":0.05555555555555555,"rr22":0.05555555555555555,"竞":0.05555555555555555,"态":0.05555555555555555,"条":0.05555555555555555,"件":0.05555555555555555,"improvement":0.05555555555555555,"改":0.05555555555555555,"排":0.05555555555555555,"序":0.05555555555555555,"缓":0.05555555555555555,"冲":0.05555555555555555,"区":0.05555555555555555,"大":0.05555555555555555,"小":0.05555555555555555},"20":{"api":0.029411764705882353,"将":0.029411764705882353,"check_duplicates":0.014705882352941176,"重":0.058823529411764705,"命":0.029411764705882353,"名":0.029411764705882353,"为":0.029411764705882353,"skip_duplicates_check":0.014705882352941176,"sort_output":0.014705882352941176,"disable_alignment":0.014705882352941176,"feature":0.029411764705882353,"支":0.014705882352941176,"持":0.014705882352941176,"左":0.014705882352941176,"连":0.04411764705882353,"接":0.04411764705882353,"右":0.014705882352941176,"和":0.014705882352941176,"全":0.014705882352941176,"修":0.04411764705882353,"改":0.014705882352941176,"了":0.014705882352941176,"求":0.014705882352941176,"差":0.014705882352941176,"集":0.014705882352941176,"的":0.014705882352941176,"功":0.014705882352941176,"能":0.014705882352941176,"如":0.014705882352941176,"果":0.014705882352941176,"存":0.014705882352941176,"在":0.014705882352941176,"恢":0.014705882352941176,"复":0.07352941176470588,"检":0.04411764705882353,"查":0.04411764705882353,"点":0.014705882352941176,"则":0.014705882352941176,"跳":0.014705882352941176,"过":0.014705882352941176,"键":0.029411764705882353,"bugfix":0.029411764705882353,"syncwait":0.014705882352941176},"21":{"api":0.1111111111111111,"添":0.044444444444444446,"加":0.044444444444444446,"psi":0.022222222222222223,"v2":0.08888888888888889,"feature":0.08888888888888889,"rr22":0.044444444444444446,"协":0.044444444444444446,"议":0.044444444444444446,"在":0.06666666666666667,"中":0.06666666666666667,"支":0.044444444444444446,"持":0.044444444444444446,"故":0.022222222222222223,"障":0.022222222222222223,"恢":0.022222222222222223,"复":0.022222222222222223,"内":0.022222222222222223,"连":0.022222222222222223,"接":0.022222222222222223,"迁":0.022222222222222223,"移":0.022222222222222223,"ecdh":0.022222222222222223,"kkrt":0.022222222222222223},"22":{"欢":0.0011086474501108647,"迎":0.0011086474501108647,"使":0.011086474501108648,"用":0.024390243902439025,"secretflow":0.007760532150776054,"psi":0.02771618625277162,"库":0.013303769401330377,"本":0.0033259423503325942,"支":0.050997782705099776,"持":0.050997782705099776,"多":0.0011086474501108647,"种":0.0011086474501108647,"pir":0.0066518847006651885,"的":0.026607538802660754,"方":0.0033259423503325942,"式":0.0011086474501108647,"c":0.0022172949002217295,"二":0.0022172949002217295,"进":0.007760532150776054,"制":0.0022172949002217295,"文":0.013303769401330377,"件":0.018847006651884702,"您":0.008869179600886918,"可":0.007760532150776054,"以":0.013303769401330377,"自":0.0022172949002217295,"行":0.0022172949002217295,"编":0.0022172949002217295,"译":0.0022172949002217295,"或":0.0022172949002217295,"直":0.0022172949002217295,"接":0.007760532150776054,"官":0.0022172949002217295,"发":0.008869179600886918,"布":0.007760532150776054,"docker":0.008869179600886918,"镜":0.008869179600886918,"像":0.008869179600886918,"python":0.013303769401330377,"包":0.0022172949002217295,"spu":0.028824833702882482,"封":0.011086474501108648,"装":0.011086474501108648,"了":0.01662971175166297,"该":0.005543237250554324,"口":0.005543237250554324,"通":0.01662971175166297,"过":0.01662971175166297,"调":0.005543237250554324,"在":0.0066518847006651885,"基":0.011086474501108648,"础":0.005543237250554324,"上":0.005543237250554324,"一":0.005543237250554324,"步":0.005543237250554324,"提":0.022172949002217297,"供":0.022172949002217297,"更":0.005543237250554324,"易":0.005543237250554324,"api":0.005543237250554324,"相":0.0022172949002217295,"关":0.0033259423503325942,"应":0.0022172949002217295,"scql":0.0066518847006651885,"集":0.005543237250554324,"成":0.005543237250554324,"此":0.0066518847006651885,"实":0.01662971175166297,"现":0.01662971175166297,"join":0.005543237250554324,"操":0.005543237250554324,"作":0.005543237250554324,"secretpad":0.0066518847006651885,"组":0.005543237250554324,"于":0.0066518847006651885,"目":0.0011086474501108647,"前":0.0011086474501108647,"我":0.0011086474501108647,"们":0.0011086474501108647,"正":0.0011086474501108647,"开":0.0011086474501108647,"v2":0.0066518847006651885,"版":0.0022172949002217295,"并":0.0011086474501108647,"推":0.0066518847006651885,"荐":0.0066518847006651885,"v1":0.005543237250554324,"apis":0.011086474501108648,"不":0.01662971175166297,"协":0.005543237250554324,"议":0.005543237250554324,"ecdh":0.005543237250554324,"kkrt":0.011086474501108648,"ecdh_oprf_ub":0.008869179600886918,"dp_psi":0.005543237250554324,"rr22cdh":0.0033259423503325942,"rr22":0.007760532150776054,"ecdh_oprf_ubcsv":0.0022172949002217295,"解":0.005543237250554324,"析":0.005543237250554324,"器":0.005543237250554324,"部":0.005543237250554324,"分":0.005543237250554324,"csv":0.014412416851441241,"apache":0.005543237250554324,"arrow":0.005543237250554324,"所":0.005543237250554324,"有":0.005543237250554324,"合":0.005543237250554324,"法":0.005543237250554324,"故":0.005543237250554324,"障":0.005543237250554324,"恢":0.005543237250554324,"复":0.011086474501108648,"能":0.005543237250554324,"力":0.005543237250554324,"暂":0.01662971175166297,"重":0.005543237250554324,"键":0.005543237250554324,"已":0.011086474501108648,"未":0.005543237250554324,"绑":0.005543237250554324,"定":0.005543237250554324,"cdh":0.0022172949002217295},"23":{},"24":{},"25":{"请":0.023809523809523808,"查":0.023809523809523808,"看":0.023809523809523808,"官":0.023809523809523808,"方":0.023809523809523808,"发":0.023809523809523808,"布":0.023809523809523808,"镜":0.047619047619047616,"像":0.047619047619047616,"dockerhub":0.047619047619047616,"我":0.023809523809523808,"们":0.023809523809523808,"也":0.023809523809523808,"提":0.023809523809523808,"供":0.023809523809523808,"了":0.023809523809523808,"阿":0.023809523809523808,"里":0.023809523809523808,"云":0.023809523809523808,"secretflow":0.09523809523809523,"registry":0.047619047619047616,"cn":0.047619047619047616,"hangzhou":0.047619047619047616,"cr":0.047619047619047616,"aliyuncs":0.047619047619047616,"com":0.047619047619047616,"psi":0.047619047619047616,"anolis8":0.047619047619047616},"26":{"请":0.07692307692307693,"参":0.07692307692307693,"考":0.07692307692307693,"文":0.07692307692307693,"档":0.07692307692307693,"编":0.15384615384615385,"译":0.15384615384615385,"说":0.15384615384615385,"明":0.15384615384615385},"27":{},"28":{"请":0.025,"参":0.025,"考":0.025,"spu":0.1,"安":0.05,"装":0.05,"指":0.05,"南":0.05,"api":0.025,"文":0.025,"档":0.025,"https":0.05,"www":0.05,"secretflow":0.05,"org":0.05,"cn":0.1,"zh":0.05,"docs":0.05,"main":0.05,"reference":0.05,"py_api":0.05},"29":{"5":0.005641748942172073,"请":0.0007052186177715092,"参":0.0007052186177715092,"考":0.0007052186177715092,"secretflow":0.19322990126939352,"安":0.0014104372355430183,"装":0.0014104372355430183,"说":0.0014104372355430183,"明":0.0014104372355430183,"api":0.0007052186177715092,"文":0.0007052186177715092,"档":0.0007052186177715092,"psi":0.018335684062059238,"v1":0.004936530324400564,"不":0.019746121297602257,"推":0.019746121297602257,"荐":0.019746121297602257,"使":0.019746121297602257,"用":0.03455571227080395,"https":0.0535966149506347,"www":0.0535966149506347,"org":0.0535966149506347,"cn":0.1071932299012694,"zh":0.0535966149506347,"docs":0.0535966149506347,"main":0.047954866008462625,"source":0.045133991537376586,"spu":0.045133991537376586,"psi_df":0.005641748942172073,"psi_csv":0.005641748942172073,"psi_join_df":0.005641748942172073,"psi_join_csv":0.005641748942172073,"v2":0.004936530324400564,"psi_v2":0.005641748942172073,"pir":0.009873060648801129,"已":0.014809590973201692,"弃":0.014809590973201692,"pir_setup":0.005641748942172073,"pir_query":0.005641748942172073,"pir_memory_query":0.005641748942172073,"配":0.004936530324400564,"置":0.004936530324400564,"项":0.004936530324400564,"v0":0.005641748942172073,"0b0":0.005641748942172073,"reference":0.005641748942172073,"pir_config":0.005641748942172073,"组":0.0021156558533145277,"件":0.0021156558533145277,"列":0.0021156558533145277,"表":0.0021156558533145277,"component":0.0028208744710860366,"comp_list":0.0028208744710860366},"30":{},"31":{"请":0.00510204081632653,"参":0.030612244897959183,"考":0.030612244897959183,"scql":0.07142857142857142,"快":0.01020408163265306,"速":0.01020408163265306,"入":0.01020408163265306,"门":0.01020408163265306,"教":0.01020408163265306,"程":0.01020408163265306,"psi":0.025510204081632654,"相":0.025510204081632654,"关":0.025510204081632654,"算":0.025510204081632654,"子":0.025510204081632654,"https":0.061224489795918366,"www":0.061224489795918366,"secretflow":0.061224489795918366,"org":0.061224489795918366,"cn":0.061224489795918366,"en":0.061224489795918366,"docs":0.061224489795918366,"main":0.061224489795918366,"reference":0.061224489795918366,"operators":0.061224489795918366,"in":0.030612244897959183,"join":0.030612244897959183},"32":{"请":0.07692307692307693,"参":0.07692307692307693,"考":0.07692307692307693,"secretpad":0.15384615384615385,"操":0.15384615384615385,"作":0.15384615384615385,"手":0.15384615384615385,"册":0.15384615384615385},"33":{"请":0.1111111111111111,"查":0.1111111111111111,"看":0.1111111111111111,"easy":0.2222222222222222,"psi":0.2222222222222222,"handbook":0.2222222222222222},"34":{},"35":{},"36":{"您":0.08333333333333333,"可":0.08333333333333333,"以":0.08333333333333333,"使":0.08333333333333333,"用":0.08333333333333333,"docker":0.08333333333333333,"镜":0.08333333333333333,"像":0.08333333333333333,"进":0.08333333333333333,"行":0.08333333333333333,"编":0.08333333333333333,"译":0.08333333333333333},"37":{"1":0.02857142857142857,"2":0.05714285714285714,"3":0.08571428571428572,"5":0.02857142857142857,"8":0.02857142857142857,"11":0.02857142857142857,"15":0.02857142857142857,"20":0.02857142857142857,"26":0.02857142857142857,"您":0.014285714285714285,"需":0.014285714285714285,"要":0.014285714285714285,"安":0.014285714285714285,"装":0.014285714285714285,"如":0.014285714285714285,"下":0.014285714285714285,"依":0.014285714285714285,"赖":0.014285714285714285,"gcc":0.02857142857142857,"cmake":0.02857142857142857,"ninja":0.02857142857142857,"nasm":0.02857142857142857,"python":0.02857142857142857,"bazel":0.04285714285714286,"golang":0.02857142857142857,"xxd":0.02857142857142857,"lld":0.02857142857142857,"perl":0.02857142857142857,"对":0.014285714285714285,"于":0.014285714285714285,"请":0.014285714285714285,"查":0.014285714285714285,"看":0.014285714285714285,"bazeliskrc":0.02857142857142857,"中":0.014285714285714285,"的":0.014285714285714285,"版":0.014285714285714285,"本":0.014285714285714285,"或":0.014285714285714285,"者":0.014285714285714285,"使":0.014285714285714285,"用":0.014285714285714285,"bazelisk":0.014285714285714285},"38":{"我":0.08333333333333333,"们":0.08333333333333333,"使":0.08333333333333333,"用":0.08333333333333333,"bazel":0.08333333333333333,"进":0.08333333333333333,"行":0.08333333333333333,"构":0.08333333333333333,"建":0.08333333333333333,"和":0.08333333333333333,"测":0.08333333333333333,"试":0.08333333333333333},"39":{"请":0.038461538461538464,"在":0.038461538461538464,"github":0.07692307692307693,"issues":0.07692307692307693,"提":0.038461538461538464,"交":0.038461538461538464,"问":0.07692307692307693,"题":0.07692307692307693,"反":0.038461538461538464,"馈":0.038461538461538464,"我":0.038461538461538464,"们":0.038461538461538464,"会":0.038461538461538464,"及":0.038461538461538464,"时":0.038461538461538464,"跟":0.038461538461538464,"进":0.038461538461538464,"并":0.038461538461538464,"回":0.038461538461538464,"复":0.038461538461538464,"您":0.038461538461538464,"的":0.038461538461538464},"40":{"原":0.027777777777777776,"理":0.027777777777777776,"设":0.027777777777777776,"计":0.027777777777777776,"和":0.027777777777777776,"性":0.027777777777777776,"能":0.027777777777777776,"对":0.027777777777777776,"比":0.027777777777777776,"相":0.027777777777777776,"关":0.027777777777777776,"的":0.027777777777777776,"高":0.027777777777777776,"级":0.027777777777777776,"主":0.027777777777777776,"题":0.027777777777777776,"psi":0.1111111111111111,"协":0.1111111111111111,"议":0.1111111111111111,"介":0.1111111111111111,"绍":0.1111111111111111},"41":{"secretflow":0.006097560975609756,"spu":0.006097560975609756,"实":0.054878048780487805,"现":0.006097560975609756,"了":0.006097560975609756,"以":0.006097560975609756,"下":0.006097560975609756,"psi":0.0975609756097561,"协":0.07926829268292683,"议":0.07926829268292683,"基":0.04878048780487805,"于":0.04878048780487805,"ecdh":0.024390243902439025,"的":0.04878048780487805,"半":0.04878048780487805,"诚":0.04878048780487805,"两":0.036585365853658534,"方":0.04878048780487805,"hfh99":0.018292682926829267,"模":0.024390243902439025,"型":0.024390243902439025,"三":0.012195121951219513,"ot":0.012195121951219513,"kkrt16":0.018292682926829267,"差":0.012195121951219513,"分":0.012195121951219513,"隐":0.012195121951219513,"私":0.012195121951219513,"dp":0.03048780487804878,"非":0.012195121951219513,"平":0.012195121951219513,"衡":0.012195121951219513,"vole":0.012195121951219513,"恶":0.012195121951219513,"意":0.012195121951219513,"rs21":0.018292682926829267,"rr22":0.018292682926829267},"42":{"1":0.03754266211604096,"2":0.006067500948047023,"3":0.0011376564277588168,"512":0.0018960940462646946,"2016":0.0018960940462646946,"14888":0.0018960940462646946,"32918":0.0018960940462646946,"半":0.0007584376185058779,"诚":0.0007584376185058779,"实":0.0034129692832764505,"dh":0.0007584376185058779,"psi":0.0015168752370117557,"协":0.0026545316647705727,"议":0.0018960940462646946,"由":0.0003792188092529389,"huberman":0.0003792188092529389,"franklin":0.0003792188092529389,"和":0.0026545316647705727,"hogg":0.0003792188092529389,"提":0.0007584376185058779,"出":0.0018960940462646946,"hfh99":0.0007584376185058779,"其":0.004171406901782328,"理":0.0003792188092529389,"论":0.0003792188092529389,"基":0.0015168752370117557,"础":0.0003792188092529389,"可":0.0003792188092529389,"追":0.0003792188092529389,"溯":0.0003792188092529389,"至":0.0003792188092529389,"meadows":0.0003792188092529389,"mea86":0.0007584376185058779,"该":0.0003792188092529389,"采":0.0003792188092529389,"用":0.005309063329541145,"模":0.0007584376185058779,"型":0.0003792188092529389,"所":0.0003792188092529389,"需":0.0007584376185058779,"进":0.0034129692832764505,"行":0.0034129692832764505,"的":0.007963594994311717,"diffie":0.0007584376185058779,"hellman":0.0007584376185058779,"群":0.004929844520288207,"指":0.0034129692832764505,"数":0.006446719757299962,"运":0.0034129692832764505,"算":0.006825938566552901,"次":0.0003792188092529389,"与":0.0003792188092529389,"集":0.004171406901782328,"合":0.0034129692832764505,"元":0.004171406901782328,"素":0.0034129692832764505,"量":0.0003792188092529389,"成":0.0018960940462646946,"正":0.0003792188092529389,"比":0.0015168752370117557,"一":0.0011376564277588168,"般":0.0003792188092529389,"而":0.0011376564277588168,"言":0.0003792188092529389,"于":0.005309063329541145,"ot":0.0003792188092529389,"速":0.0003792188092529389,"度":0.0003792188092529389,"更":0.0007584376185058779,"快":0.0003792188092529389,"但":0.0003792188092529389,"要":0.0007584376185058779,"高":0.0007584376185058779,"通":0.0007584376185058779,"信":0.0007584376185058779,"开":0.0003792188092529389,"销":0.0003792188092529389,"在":0.0011376564277588168,"某":0.0003792188092529389,"些":0.0003792188092529389,"场":0.0003792188092529389,"景":0.0003792188092529389,"下":0.0003792188092529389,"本":0.0007584376185058779,"重":0.0003792188092529389,"性":0.0011376564277588168,"远":0.0003792188092529389,"计":0.0034129692832764505,"ddh":0.0003792188092529389,"假":0.0011376564277588168,"设":0.0011376564277588168,"现":0.0022753128555176336,"步":0.0011376564277588168,"骤":0.0003792188092529389,"商":0.0007584376185058779,"选":0.0015168752370117557,"定":0.0007584376185058779,"g":0.02427000379218809,"及":0.0007584376185058779,"生":0.0007584376185058779,"对":0.004550625711035267,"随":0.0007584376185058779,"机":0.0007584376185058779,"a":0.013272658323852863,"b":0.013272658323852863,"c":0.006825938566552901,"无":0.0007584376185058779,"法":0.0011376564277588168,"区":0.0007584376185058779,"分":0.0007584376185058779,"ga":0.012135001896094046,"gb":0.014031095942358742,"gab":0.006067500948047023,"ab":0.006446719757299962,"gc":0.006067500948047023,"广":0.0003792188092529389,"泛":0.0003792188092529389,"使":0.0026545316647705727,"候":0.0003792188092529389,"包":0.0003792188092529389,"括":0.0003792188092529389,"有":0.0003792188092529389,"限":0.0003792188092529389,"域":0.0003792188092529389,"乘":0.0003792188092529389,"子":0.0003792188092529389,"椭":0.0030337504740235114,"圆":0.0030337504740235114,"曲":0.008722032612817596,"线":0.008722032612817596,"践":0.0003792188092529389,"中":0.0018960940462646946,"精":0.0003792188092529389,"心":0.0003792188092529389,"择":0.0003792188092529389,"如":0.0003792188092529389,"curve25519":0.0022753128555176336,"ber06":0.0034129692832764505,"安":0.0003792188092529389,"全":0.0003792188092529389,"能":0.0003792188092529389,"之":0.0003792188092529389,"间":0.0003792188092529389,"供":0.0003792188092529389,"了":0.0003792188092529389,"良":0.0003792188092529389,"好":0.0003792188092529389,"平":0.0003792188092529389,"衡":0.0003792188092529389,"每":0.0030337504740235114,"个":0.0037921880925293893,"xix_ixi":0.0015168752370117557,"alice":0.005309063329541145,"先":0.0015168752370117557,"应":0.0015168752370117557,"哈":0.0015168752370117557,"希":0.0015168752370117557,"函":0.0015168752370117557,"然":0.0015168752370117557,"后":0.0015168752370117557,"她":0.0007584376185058779,"密":0.004929844520288207,"钥":0.0030337504740235114,"alpha":0.027303754266211604,"从":0.0022753128555176336,"h":0.10769814182783466,"xi":0.045885475919605616,"x_i":0.018581721653394008,"alphah":0.0030337504740235114,"将":0.0022753128555176336,"i":0.10390595373530527,"1n1":0.022753128555176336,"_":0.02123625331816458,"n_1":0.009101251422070534,"发":0.0022753128555176336,"送":0.0022753128555176336,"给":0.0022753128555176336,"bob":0.004550625711035267,"上":0.0007584376185058779,"接":0.0015168752370117557,"收":0.0015168752370117557,"到":0.0037921880925293893,"beta":0.027303754266211604,"得":0.0022753128555176336,"yiy_iyi":0.0015168752370117557,"yi":0.03830109973454683,"y_i":0.015547971179370497,"betah":0.0030337504740235114,"1n2":0.015168752370117557,"n_2":0.006067500948047023,"处":0.0007584376185058779,"较":0.0007584376185058779,"两":0.0007584376185058779,"交":0.0007584376185058779,"xix_i":0.0011376564277588168,"x":0.005309063329541145,"n1":0.005688282138794084,"n":0.0037921880925293893,"yiy_i":0.0011376564277588168,"y":0.004550625711035267,"n2":0.0037921880925293893,"secretflow":0.0003792188092529389,"spu":0.0003792188092529389,"块":0.0003792188092529389,"支":0.0003792188092529389,"持":0.0003792188092529389,"参":0.0018960940462646946,"考":0.0018960940462646946,"加":0.0018960940462646946,"库":0.009480470231323474,"libsodium":0.004171406901782328,"https":0.009101251422070534,"doc":0.0022753128555176336,"org":0.006825938566552901,"ipp":0.0026545316647705727,"crypto":0.0026545316647705727,"intel":0.0018960940462646946,"cpu":0.0018960940462646946,"support":0.0018960940462646946,"avx":0.0018960940462646946,"ifma":0.0018960940462646946,"secp256k1":0.0018960940462646946,"sec2":0.0026545316647705727,"v2":0.0026545316647705727,"openssl":0.008342813803564657,"www":0.004550625711035267,"_sm2":0.0007584376185058779,"标":0.0037921880925293893,"准":0.0037921880925293893,"t":0.0018960940462646946,"_iso":0.0007584376185058779,"iec":0.0018960940462646946,"3fourq":0.0007584376185058779,"fourq":0.005688282138794084,"github":0.0022753128555176336,"com":0.0022753128555176336,"microsoft":0.0022753128555176336,"fourqlib":0.0022753128555176336,"sm2":0.0011376564277588168,"iso":0.0011376564277588168},"43":{"我":0.0016750418760469012,"们":0.0016750418760469012,"基":0.0008375209380234506,"于":0.007537688442211055,"ecdh":0.0016750418760469012,"实":0.0016750418760469012,"现":0.0016750418760469012,"了":0.0008375209380234506,"自":0.0008375209380234506,"研":0.0008375209380234506,"的":0.005025125628140704,"三":0.0016750418760469012,"方":0.002512562814070352,"psi":0.002512562814070352,"协":0.0041876046901172526,"议":0.0041876046901172526,"请":0.0016750418760469012,"注":0.0016750418760469012,"意":0.0016750418760469012,"该":0.0016750418760469012,"存":0.0008375209380234506,"在":0.0016750418760469012,"已":0.0016750418760469012,"知":0.0008375209380234506,"信":0.0008375209380234506,"息":0.0008375209380234506,"泄":0.0016750418760469012,"露":0.0016750418760469012,"风":0.0008375209380234506,"险":0.0008375209380234506,"谨":0.0008375209380234506,"慎":0.0008375209380234506,"使":0.0008375209380234506,"用":0.0008375209380234506,"假":0.0016750418760469012,"设":0.0016750418760469012,"alice":0.010887772194304857,"bob":0.009212730318257957,"和":0.0033500837520938024,"接":0.0008375209380234506,"收":0.0008375209380234506,"charlie":0.009212730318257957,"进":0.002512562814070352,"行":0.002512562814070352,"除":0.0008375209380234506,"最":0.002512562814070352,"终":0.0008375209380234506,"结":0.0008375209380234506,"果":0.0008375209380234506,"外":0.0008375209380234506,"会":0.0008375209380234506,"向":0.0008375209380234506,"与":0.002512562814070352,"数":0.0016750418760469012,"据":0.0016750418760469012,"交":0.002512562814070352,"集":0.005025125628140704,"大":0.0008375209380234506,"小":0.0008375209380234506,"初":0.0008375209380234506,"始":0.0008375209380234506,"阶":0.0008375209380234506,"段":0.0008375209380234506,"输":0.0008375209380234506,"入":0.0008375209380234506,"被":0.0008375209380234506,"随":0.002512562814070352,"机":0.002512562814070352,"打":0.0033500837520938024,"乱":0.0033500837520938024,"无":0.0008375209380234506,"需":0.0008375209380234506,"合":0.002512562814070352,"流":0.0008375209380234506,"程":0.0008375209380234506,"对":0.006700167504187605,"中":0.0016750418760469012,"第":0.006700167504187605,"i":0.1390284757118928,"个":0.006700167504187605,"元":0.006700167504187605,"素":0.006700167504187605,"计":0.010050251256281407,"算":0.010050251256281407,"h":0.19430485762144054,"xi":0.04020100502512563,"x_i":0.020100502512562814,"alphah":0.0033500837520938024,"并":0.008375209380234505,"发":0.010050251256281407,"送":0.010050251256281407,"给":0.010050251256281407,"alpha":0.06365159128978225,"beta":0.07035175879396985,"yi":0.04020100502512563,"y_i":0.020100502512562814,"betah":0.0033500837520938024,"然":0.0033500837520938024,"后":0.005025125628140704,"顺":0.0016750418760469012,"序":0.0016750418760469012,"获":0.0016750418760469012,"取":0.0016750418760469012,"cap":0.006700167504187605,"记":0.0016750418760469012,"作":0.0016750418760469012,"将":0.0016750418760469012,"zi":0.05360134003350084,"z_i":0.02680067001675042,"gamma":0.03350083752093802,"比":0.0016750418760469012,"较":0.0016750418760469012,"x":0.005025125628140704,"y":0.005025125628140704,"z":0.006700167504187605},"44":{"0":0.02329450915141431,"1":0.04326123128119801,"2":0.022462562396006656,"3":0.019966722129783693,"24":0.013311148086522463,"128":0.0008319467554076539,"224":0.0066555740432612314,"2242":0.004991680532445923,"kkrt16":0.0008319467554076539,"_":0.0016638935108153079,"是":0.0008319467554076539,"基":0.0008319467554076539,"于":0.0008319467554076539,"半":0.0008319467554076539,"诚":0.0008319467554076539,"实":0.0016638935108153079,"模":0.0008319467554076539,"型":0.0008319467554076539,"ot":0.0008319467554076539,"扩":0.0008319467554076539,"展":0.0008319467554076539,"bark":0.004159733777038269,"oprf":0.004159733777038269,"和":0.004159733777038269,"布":0.0033277870216306157,"谷":0.0033277870216306157,"鸟":0.0033277870216306157,"哈":0.0033277870216306157,"希":0.0033277870216306157,"的":0.0024958402662229617,"psi":0.0016638935108153079,"协":0.004991680532445923,"议":0.0033277870216306157,"该":0.0008319467554076539,"首":0.0008319467554076539,"次":0.0008319467554076539,"现":0.0008319467554076539,"了":0.0008319467554076539,"在":0.0008319467554076539,"较":0.0024958402662229617,"大":0.0008319467554076539,"数":0.0024958402662229617,"据":0.0008319467554076539,"集":0.004991680532445923,"各":0.0008319467554076539,"合":0.0024958402662229617,"包":0.0008319467554076539,"含":0.0008319467554076539,"个":0.005823627287853577,"位":0.0008319467554076539,"长":0.0008319467554076539,"字":0.0008319467554076539,"符":0.0008319467554076539,"串":0.0008319467554076539,"下":0.0008319467554076539,"仅":0.0008319467554076539,"需":0.0008319467554076539,"一":0.0008319467554076539,"分":0.0008319467554076539,"钟":0.0008319467554076539,"计":0.0008319467554076539,"算":0.0008319467554076539,"我":0.0008319467554076539,"们":0.0008319467554076539,"采":0.0008319467554076539,"用":0.0024958402662229617,"psz18":0.0008319467554076539,"提":0.0008319467554076539,"出":0.0008319467554076539,"无":0.0008319467554076539,"暂":0.0008319467554076539,"存":0.0008319467554076539,"区":0.0008319467554076539,"三":0.0008319467554076539,"路":0.0008319467554076539,"方":0.015806988352745424,"案":0.0008319467554076539,"发":0.008319467554076539,"送":0.008319467554076539,"接":0.008319467554076539,"收":0.008319467554076539,"商":0.0016638935108153079,"使":0.0016638935108153079,"函":0.0016638935108153079,"h1":0.03993344425956739,"h2":0.03993344425956739,"h3":0.03993344425956739,"m":0.019966722129783693,"h_1":0.019966722129783693,"h_2":0.019966722129783693,"h_3":0.019966722129783693,"rightarrow":0.0066555740432612314,"将":0.004991680532445923,"每":0.0033277870216306157,"x":0.08153078202995008,"插":0.0033277870216306157,"入":0.0033277870216306157,"到":0.0033277870216306157,"桶":0.0033277870216306157,"或":0.0016638935108153079,"中":0.0033277870216306157,"y":0.10149750415973377,"执":0.0016638935108153079,"行":0.0016638935108153079,"获":0.004991680532445923,"取":0.004991680532445923,"fs":0.03993344425956739,"ki":0.064891846921797,"f_":0.019966722129783693,"s":0.04492512479201331,"k_i":0.019966722129783693,"针":0.0016638935108153079,"对":0.0016638935108153079,"binibin_ibini":0.0033277870216306157,"所":0.0016638935108153079,"有":0.0016638935108153079,"值":0.0016638935108153079,"给":0.0016638935108153079,"比":0.0016638935108153079,"两":0.0016638935108153079,"并":0.0016638935108153079,"交":0.0016638935108153079,"结":0.0016638935108153079,"果":0.0016638935108153079,"h":0.014975041597337771,"f":0.004991680532445923,"k":0.004991680532445923,"i":0.02745424292845258,"binibin_i":0.0024958402662229617,"bini":0.0024958402662229617,"b":0.0008319467554076539,"ni":0.0016638935108153079,"n":0.0016638935108153079,"bin_i":0.0008319467554076539,"bi":0.0008319467554076539},"45":{"2":0.007080610021786492,"3":0.011437908496732025,"9":0.0027233115468409588,"20":0.003812636165577342,"21":0.0010893246187363835,"22":0.0010893246187363835,"23":0.0010893246187363835,"24":0.002178649237472767,"42":0.0027233115468409588,"86":0.0027233115468409588,"134":0.0027233115468409588,"170":0.0027233115468409588,"202":0.0016339869281045752,"212":0.0016339869281045752,"222":0.0016339869281045752,"232":0.0016339869281045752,"359":0.0027233115468409588,"580":0.0027233115468409588,"806":0.0027233115468409588,"我":0.0027233115468409588,"们":0.003812636165577342,"还":0.0005446623093681918,"实":0.002178649237472767,"现":0.0016339869281045752,"了":0.0005446623093681918,"差":0.0027233115468409588,"分":0.004901960784313725,"隐":0.0054466230936819175,"私":0.0054466230936819175,"dp":0.0054466230936819175,"的":0.016339869281045753,"集":0.010348583877995643,"合":0.004901960784313725,"求":0.0005446623093681918,"交":0.004901960784313725,"psi":0.010893246187363835,"协":0.0054466230936819175,"议":0.005991285403050109,"基":0.0005446623093681918,"于":0.002178649237472767,"ecdh":0.0005446623093681918,"并":0.0027233115468409588,"提":0.0005446623093681918,"供":0.0005446623093681918,"以":0.0005446623093681918,"下":0.003812636165577342,"功":0.0010893246187363835,"能":0.0027233115468409588,"结":0.004901960784313725,"果":0.0054466230936819175,"此":0.002178649237472767,"目":0.0005446623093681918,"前":0.0005446623093681918,"处":0.0032679738562091504,"测":0.0005446623093681918,"试":0.0005446623093681918,"阶":0.0005446623093681918,"段":0.0005446623093681918,"使":0.0032679738562091504,"用":0.004901960784313725,"时":0.0016339869281045752,"请":0.0016339869281045752,"自":0.0016339869281045752,"行":0.003812636165577342,"承":0.0005446623093681918,"担":0.0005446623093681918,"风":0.0005446623093681918,"险":0.0005446623093681918,"为":0.0010893246187363835,"什":0.0005446623093681918,"么":0.0005446623093681918,"要":0.0010893246187363835,"如":0.002178649237472767,"想":0.0010893246187363835,"一":0.003812636165577342,"个":0.0032679738562091504,"既":0.0005446623093681918,"保":0.0032679738562091504,"护":0.0027233115468409588,"输":0.0016339869281045752,"入":0.0010893246187363835,"又":0.0005446623093681918,"出":0.0005446623093681918,"方":0.0032679738562091504,"案":0.0010893246187363835,"理":0.0032679738562091504,"式":0.0005446623093681918,"是":0.002178649237472767,"电":0.0010893246187363835,"路":0.0010893246187363835,"这":0.0010893246187363835,"种":0.0010893246187363835,"典":0.0005446623093681918,"型":0.0005446623093681918,"变":0.0005446623093681918,"体":0.0005446623093681918,"允":0.0005446623093681918,"许":0.0005446623093681918,"对":0.004901960784313725,"进":0.0032679738562091504,"安":0.0005446623093681918,"全":0.0005446623093681918,"计":0.0027233115468409588,"算":0.0027233115468409588,"mpc":0.0005446623093681918,"或":0.0005446623093681918,"he":0.0005446623093681918,"而":0.002178649237472767,"不":0.0016339869281045752,"泄":0.0010893246187363835,"露":0.0010893246187363835,"psty19":0.0010893246187363835,"然":0.0027233115468409588,"些":0.0005446623093681918,"在":0.003812636165577342,"效":0.0005446623093681918,"率":0.0005446623093681918,"面":0.0005446623093681918,"代":0.0005446623093681918,"价":0.0005446623093681918,"较":0.0005446623093681918,"高":0.0005446623093681918,"利":0.0005446623093681918,"上":0.0005446623093681918,"采":0.0032679738562091504,"样":0.0032679738562091504,"和":0.004901960784313725,"机":0.0054466230936819175,"制":0.0010893246187363835,"向":0.0005446623093681918,"添":0.0016339869281045752,"加":0.0054466230936819175,"校":0.0005446623093681918,"准":0.0005446623093681918,"噪":0.0010893246187363835,"声":0.0010893246187363835,"法":0.0010893246187363835,"其":0.0005446623093681918,"精":0.0005446623093681918,"确":0.0016339869281045752,"值":0.0010893246187363835,"流":0.0010893246187363835,"程":0.0016339869281045752,"假":0.0005446623093681918,"设":0.0005446623093681918,"alice":0.010348583877995643,"有":0.0016339869281045752,"经":0.0010893246187363835,"过":0.0016339869281045752,"哈":0.0010893246187363835,"希":0.0010893246187363835,"洗":0.0010893246187363835,"牌":0.0010893246187363835,"xxx":0.0016339869281045752,"bob":0.00980392156862745,"yyy":0.0016339869281045752,"xx":0.0016339869281045752,"x":0.03104575163398693,"yy":0.0016339869281045752,"y":0.06318082788671024,"注":0.0010893246187363835,"意":0.0010893246187363835,"密":0.003812636165577342,"来":0.0016339869281045752,"表":0.0005446623093681918,"示":0.0016339869281045752,"xay":0.0032679738562091504,"gets":0.008169934640522876,"ay":0.0016339869281045752,"xa":0.01252723311546841,"a":0.030501089324618737,"首":0.0010893246187363835,"先":0.0010893246187363835,"别":0.002178649237472767,"己":0.0010893246187363835,"数":0.0010893246187363835,"据":0.0010893246187363835,"得":0.0054466230936819175,"到":0.00980392156862745,"xax":0.011437908496732025,"axa":0.006535947712418301,"yby":0.007625272331154684,"byb":0.004357298474945534,"将":0.0032679738562091504,"发":0.004357298474945534,"送":0.004357298474945534,"给":0.004357298474945534,"随":0.0054466230936819175,"by_":0.015250544662309368,"by":0.008714596949891068,"b":0.0664488017429194,"与":0.0010893246187363835,"同":0.0016339869281045752,"收":0.0027233115468409588,"后":0.006535947712418301,"bbb":0.002178649237472767,"重":0.002178649237472767,"新":0.002178649237472767,"xabx":0.003812636165577342,"ab":0.09749455337690632,"xab":0.03104575163398693,"接":0.0027233115468409588,"着":0.002178649237472767,"生":0.0010893246187363835,"成":0.0010893246187363835,"置":0.0010893246187363835,"换":0.0010893246187363835,"pi":0.017429193899782137,"排":0.002178649237472767,"列":0.002178649237472767,"返":0.0010893246187363835,"回":0.0010893246187363835,"aby_":0.003812636165577342,"两":0.0010893246187363835,"者":0.0010893246187363835,"i":0.0196078431372549,"abi_":0.007625272331154684,"cap":0.004357298474945534,"y_":0.007080610021786492,"找":0.0010893246187363835,"它":0.0010893246187363835,"中":0.002178649237472767,"应":0.0010893246187363835,"索":0.0032679738562091504,"引":0.0032679738562091504,"非":0.0010893246187363835,"该":0.0016339869281045752,"揭":0.0010893246187363835,"最":0.0016339869281045752,"终":0.0016339869281045752,"yb":0.0054466230936819175,"bb":0.0016339869281045752,"i_":0.0010893246187363835,"只":0.0005446623093681918,"获":0.0005446623093681918,"知":0.0005446623093681918,"带":0.0005446623093681918,"无":0.0005446623093681918,"定":0.0005446623093681918,"某":0.0005446623093681918,"元":0.0005446623093681918,"素":0.0005446623093681918,"否":0.0005446623093681918,"真":0.0005446623093681918,"正":0.0005446623093681918,"属":0.0005446623093681918,"际":0.0005446623093681918,"多":0.0016339869281045752,"次":0.0010893246187363835,"调":0.0005446623093681918,"可":0.0005446623093681918,"避":0.0005446623093681918,"免":0.0005446623093681918,"地":0.0005446623093681918,"会":0.0005446623093681918,"削":0.0005446623093681918,"弱":0.0005446623093681918,"强":0.0016339869281045752,"度":0.0010893246187363835,"因":0.0005446623093681918,"烈":0.0005446623093681918,"建":0.0005446623093681918,"户":0.0005446623093681918,"防":0.0005446623093681918,"止":0.0005446623093681918,"相":0.0005446623093681918,"intel":0.0027233115468409588,"r":0.0054466230936819175,"xeon":0.0027233115468409588,"platinum":0.0027233115468409588,"器":0.0027233115468409588,"24dp":0.0005446623093681918,"秒":0.013616557734204794,"067":0.0027233115468409588,"默":0.0005446623093681918,"认":0.0005446623093681918,"epsilon":0.003812636165577342,"需":0.0005446623093681918,"更":0.0005446623093681918,"详":0.0005446623093681918,"情":0.0005446623093681918,"参":0.0005446623093681918,"阅":0.0005446623093681918,"原":0.0005446623093681918,"论":0.0005446623093681918,"文":0.0005446623093681918},"46":{},"47":{"1":0.07547169811320754,"2":0.01553829078801332,"3":0.0002774694783573807,"10":0.0005549389567147614,"11":0.0005549389567147614,"ra18":0.0005549389567147614,"第":0.0002774694783573807,"节":0.0002774694783573807,"介":0.0002774694783573807,"绍":0.0002774694783573807,"了":0.0011098779134295228,"由":0.0002774694783573807,"bbcd":0.0005549389567147614,"提":0.0005549389567147614,"出":0.000832408435072142,"的":0.005826859045504994,"基":0.000832408435072142,"于":0.004162042175360711,"ecdh":0.0002774694783573807,"oprf":0.001942286348501665,"础":0.0002774694783573807,"非":0.0002774694783573807,"对":0.003607103218645949,"称":0.0002774694783573807,"psi":0.0002774694783573807,"协":0.0013873473917869034,"议":0.0013873473917869034,"该":0.0005549389567147614,"放":0.0002774694783573807,"宽":0.0002774694783573807,"jl10":0.0005549389567147614,"安":0.0002774694783573807,"全":0.0002774694783573807,"性":0.0002774694783573807,"要":0.0002774694783573807,"求":0.0002774694783573807,"使":0.0047169811320754715,"其":0.0002774694783573807,"能":0.0005549389567147614,"够":0.0002774694783573807,"抵":0.0002774694783573807,"御":0.0002774694783573807,"半":0.0002774694783573807,"诚":0.0002774694783573807,"实":0.0002774694783573807,"攻":0.0002774694783573807,"击":0.0002774694783573807,"者":0.0005549389567147614,"分":0.0002774694783573807,"为":0.0002774694783573807,"两":0.0013873473917869034,"个":0.0047169811320754715,"阶":0.0024972253052164264,"段":0.0022197558268590455,"预":0.0005549389567147614,"处":0.001664816870144284,"理":0.0005549389567147614,"和":0.0022197558268590455,"在":0.000832408435072142,"线":0.0013873473917869034,"作":0.0002774694783573807,"多":0.0002774694783573807,"项":0.0002774694783573807,"优":0.0002774694783573807,"化":0.0013873473917869034,"尽":0.0002774694783573807,"可":0.0002774694783573807,"将":0.003607103218645949,"计":0.002774694783573807,"算":0.004994450610432853,"通":0.0002774694783573807,"信":0.0002774694783573807,"成":0.0002774694783573807,"本":0.0002774694783573807,"转":0.0002774694783573807,"移":0.0002774694783573807,"到":0.005826859045504994,"不":0.0002774694783573807,"经":0.0002774694783573807,"意":0.0002774694783573807,"伪":0.001664816870144284,"随":0.001664816870144284,"机":0.001664816870144284,"函":0.002774694783573807,"数":0.005271920088790233,"是":0.0002774694783573807,"客":0.0002774694783573807,"户":0.0002774694783573807,"端":0.0002774694783573807,"服":0.0002774694783573807,"务":0.0002774694783573807,"器":0.0002774694783573807,"之":0.0002774694783573807,"间":0.0002774694783573807,"用":0.0069367369589345175,"prf":0.0013873473917869034,"输":0.0002774694783573807,"双":0.0002774694783573807,"方":0.0002774694783573807,"draft":0.0005549389567147614,"irtf":0.0005549389567147614,"cfrg":0.0005549389567147614,"voprf":0.000832408435072142,"规":0.0002774694783573807,"定":0.0002774694783573807,"素":0.003607103218645949,"群":0.0002774694783573807,"构":0.0002774694783573807,"建":0.0002774694783573807,"poprf":0.0002774694783573807,"离":0.0005549389567147614,"集":0.004439511653718091,"合":0.003329633740288568,"中":0.0022197558268590455,"每":0.003329633740288568,"元":0.003329633740288568,"yiy_iyi":0.001664816870144284,"bob":0.006659267480577136,"私":0.0011098779134295228,"钥":0.003329633740288568,"beta":0.030521642619311874,"应":0.0022197558268590455,"即":0.0011098779134295228,"h2":0.02774694783573807,"yi":0.038013318534961156,"h1":0.07658157602663707,"h_2":0.013873473917869035,"y_i":0.016925638179800223,"h_1":0.030799112097669258,"以":0.0011098779134295228,"打":0.0011098779134295228,"乱":0.0011098779134295228,"顺":0.0011098779134295228,"序":0.0011098779134295228,"i":0.14872364039955605,"1n2":0.013318534961154272,"_":0.022197558268590455,"n_2":0.005549389567147614,"发":0.003329633740288568,"送":0.003329633740288568,"给":0.003329633740288568,"alice":0.00776914539400666,"xix_ixi":0.001664816870144284,"先":0.0011098779134295228,"哈":0.0011098779134295228,"希":0.0011098779134295228,"再":0.0011098779134295228,"盲":0.0022197558268590455,"密":0.0022197558268590455,"rir_iri":0.003329633740288568,"进":0.0022197558268590455,"行":0.0022197558268590455,"指":0.0022197558268590455,"运":0.0022197558268590455,"从":0.004439511653718091,"而":0.0022197558268590455,"得":0.004439511653718091,"xi":0.0690899001109878,"ri":0.05160932297447281,"x_i":0.030799112097669258,"r_i":0.017203107658157604,"1n1":0.03995560488346282,"n_1":0.016648168701442843,"接":0.0022197558268590455,"收":0.0022197558268590455,"rih_1":0.0024972253052164264,"解":0.0011098779134295228,"后":0.0011098779134295228,"并":0.0011098779134295228,"比":0.0011098779134295228,"较":0.0011098779134295228,"交":0.0011098779134295228,"yiy_i":0.000832408435072142,"y":0.00388457269700333,"h":0.009433962264150943,"n2":0.002774694783573807,"n":0.004439511653718091,"xix_i":0.000832408435072142,"x":0.006659267480577136,"rir_i":0.001664816870144284,"r":0.004439511653718091,"n1":0.008324084350721421},"48":{"0":0.00351288056206089,"1":0.01483216237314598,"2":0.00507416081186573,"3":0.001366120218579235,"4":0.00039032006245121,"16":0.000975800156128025,"21":0.00078064012490242,"22":0.000975800156128025,"30":0.00195160031225605,"48":0.00195160031225605,"50":0.000975800156128025,"56":0.002927400468384075,"2010":0.000975800156128025,"2048":0.000975800156128025,"4096":0.000975800156128025,"8192":0.000585480093676815,"65535":0.000975800156128025,"部":0.000195160031225605,"分":0.00312256049960968,"同":0.00273224043715847,"态":0.00273224043715847,"加":0.003708040593286495,"密":0.01131928181108509,"she":0.000195160031225605,"可":0.00234192037470726,"用":0.006830601092896175,"于":0.0039032006245121,"在":0.002927400468384075,"不":0.00117096018735363,"平":0.000585480093676815,"衡":0.000585480093676815,"设":0.00156128024980484,"置":0.000585480093676815,"中":0.00585480093676815,"构":0.000195160031225605,"建":0.000195160031225605,"高":0.000195160031225605,"效":0.000195160031225605,"的":0.01522248243559719,"带":0.000195160031225605,"标":0.007611241217798595,"签":0.00663544106167057,"隐":0.000195160031225605,"私":0.000585480093676815,"集":0.00741608118657299,"合":0.008001561280249805,"求":0.000195160031225605,"交":0.000585480093676815,"协":0.00234192037470726,"议":0.00234192037470726,"其":0.00195160031225605,"一":0.00117096018735363,"方":0.02810304449648712,"远":0.000195160031225605,"大":0.002146760343481655,"另":0.000195160031225605,"cmgd":0.00078064012490242,"对":0.00351288056206089,"clr17":0.00039032006245121,"和":0.00429352068696331,"chlr18":0.00039032006245121,"进":0.00039032006245121,"行":0.00351288056206089,"了":0.001756440281030445,"多":0.01092896174863388,"项":0.016978922716627636,"优":0.00039032006245121,"化":0.00156128024980484,"改":0.000195160031225605,"从":0.000195160031225605,"而":0.000195160031225605,"发":0.01756440281030445,"送":0.01756440281030445,"规":0.00039032006245121,"模":0.003708040593286495,"上":0.00351288056206089,"实":0.001366120218579235,"现":0.00039032006245121,"更":0.000975800156128025,"运":0.001366120218579235,"时":0.002927400468384075,"间":0.00117096018735363,"通":0.000195160031225605,"信":0.000585480093676815,"复":0.000195160031225605,"杂":0.000195160031225605,"度":0.002146760343481655,"微":0.00039032006245121,"软":0.00039032006245121,"apsi":0.000975800156128025,"asymmetric":0.00039032006245121,"psi":0.00273224043715847,"库":0.000585480093676815,"基":0.000195160031225605,"最":0.00117096018735363,"新":0.000975800156128025,"研":0.000195160031225605,"究":0.000195160031225605,"为":0.00429352068696331,"非":0.000585480093676815,"称":0.000195160031225605,"提":0.000195160031225605,"供":0.000195160031225605,"功":0.00117096018735363,"能":0.00117096018735363,"使":0.004488680718188915,"seal":0.002146760343481655,"_":0.004488680718188915,"bfv":0.000195160031225605,"fv12":0.00039032006245121,"案":0.000195160031225605,"secretflow":0.000195160031225605,"spu":0.000195160031225605,"封":0.000195160031225605,"装":0.000195160031225605,"恶":0.00039032006245121,"意":0.001366120218579235,"型":0.00039032006245121,"关":0.00156128024980484,"键":0.00039032006245121,"词":0.00039032006245121,"pir":0.00039032006245121,"有":0.00585480093676815,"息":0.00039032006245121,"检":0.00039032006245121,"索":0.00039032006245121,"阶":0.001756440281030445,"段":0.00078064012490242,"选":0.000975800156128025,"择":0.000975800156128025,"itemparams":0.001366120218579235,"tableparams":0.001366120218579235,"queryparams":0.001366120218579235,"sealparams":0.001366120218579235,"oprf":0.00429352068696331,"采":0.00078064012490242,"样":0.00078064012490242,"个":0.006049960967993755,"钥":0.00078064012490242,"beta":0.00624512099921936,"并":0.004488680718188915,"将":0.00663544106167057,"物":0.00078064012490242,"品":0.00078064012490242,"h2":0.01366120218579235,"si":0.02888368462138954,"h1":0.01522248243559719,"s":0.013466042154566744,"h_2":0.00624512099921936,"s_i":0.011904761904761904,"h_1":0.00624512099921936,"in":0.00819672131147541,"哈":0.007611241217798595,"希":0.007611241217798595,"处":0.00468384074941452,"理":0.00468384074941452,"所":0.00078064012490242,"ss_i":0.001756440281030445,"ssi":0.00117096018735363,"插":0.00195160031225605,"入":0.00078064012490242,"到":0.003708040593286495,"b":0.04918032786885246,"h0":0.0039032006245121,"mathcal":0.01639344262295082,"h_0":0.00195160031225605,"割":0.001756440281030445,"每":0.008001561280249805,"i":0.04879000780640125,"bin":0.00507416081186573,"bundles":0.00273224043715847,"表":0.00507416081186573,"示":0.00078064012490242,"k":0.00585480093676815,"计":0.003317720530835285,"算":0.005269320843091335,"系":0.00195160031225605,"数":0.02185792349726776,"匹":0.00585480093676815,"配":0.00585480093676815,"式":0.00975800156128025,"bundle":0.00234192037470726,"j":0.01405152224824356,"限":0.00234192037470726,"域":0.00234192037470726,"ft":0.00624512099921936,"mathbb":0.00468384074941452,"f":0.00546448087431694,"_tft":0.00312256049960968,"如":0.0039032006245121,"果":0.004879000780640125,"联":0.00117096018735363,"则":0.00312256049960968,"值":0.002146760343481655,"接":0.013466042154566744,"收":0.013466042154566744,"ri":0.0195160031225605,"rr_i":0.001756440281030445,"rri":0.00117096018735363,"r":0.014637002341920375,"ecdh":0.00117096018735363,"获":0.002146760343481655,"得":0.00117096018735363,"r_i":0.007220921155347385,"布":0.005659640905542545,"谷":0.005659640905542545,"鸟":0.005659640905542545,"h3":0.00117096018735363,"函":0.002146760343481655,"rrr":0.00156128024980484,"具":0.00117096018735363,"m":0.00117096018735363,"桶":0.002146760343481655,"c":0.00234192037470726,"打":0.002537080405932865,"包":0.002537080405932865,"成":0.00117096018735363,"fhe":0.002537080405932865,"明":0.002146760343481655,"文":0.006440281030444965,"窗":0.001366120218579235,"口":0.001366120218579235,"量":0.00312256049960968,"级":0.00117096018735363,"查":0.00429352068696331,"询":0.00429352068696331,"幂":0.00429352068696331,"encrypt":0.001366120218579235,"给":0.00195160031225605,"评":0.003317720530835285,"估":0.003317720530835285,"需":0.00078064012490242,"要":0.00156128024980484,"记":0.000975800156128025,"还":0.00078064012490242,"会":0.00078064012490242,"后":0.00078064012490242,"解":0.002537080405932865,"取":0.000975800156128025,"结":0.000975800156128025,"必":0.00078064012490242,"输":0.00078064012490242,"出":0.00078064012490242,"h":0.00273224043715847,"_t":0.00156128024980484,"t":0.00312256049960968,"rr":0.000585480093676815,"参":0.006049960967993755,"1itemparams":0.000585480093676815,"felts_per_item":0.00195160031225605,"元":0.000975800156128025,"素":0.000975800156128025,"应":0.000975800156128025,"占":0.000975800156128025,"少":0.000975800156128025,"microsoft":0.000975800156128025,"批":0.000975800156128025,"槽":0.000975800156128025,"item_bit_size":0.00195160031225605,"plain_modulus_bits":0.000975800156128025,"stats_params":0.000975800156128025,"log":0.00195160031225605,"ns":0.000975800156128025,"nr":0.002927400468384075,"2tableparams":0.000585480093676815,"hash_func_count":0.002927400468384075,"质":0.000975800156128025,"禁":0.000975800156128025,"table_size":0.000975800156128025,"小":0.000975800156128025,"floor":0.000975800156128025,"poly_modulus_degree":0.00195160031225605,"正":0.000975800156128025,"整":0.000975800156128025,"倍":0.000975800156128025,"max_items_per_bin":0.00195160031225605,"容":0.00195160031225605,"纳":0.00195160031225605,"3queryparams":0.000585480093676815,"ps_low_degree":0.00195160031225605,"ps":0.000975800156128025,"低":0.000975800156128025,"之":0.000975800156128025,"任":0.000975800156128025,"paterson":0.00195160031225605,"stockmeyer":0.00195160031225605,"法":0.00195160031225605,"query_powers":0.000975800156128025,"考":0.000975800156128025,"challis":0.000975800156128025,"robinson":0.000975800156128025,"确":0.000975800156128025,"定":0.000975800156128025,"适":0.000975800156128025,"源":0.000975800156128025,"4sealparams":0.000585480093676815,"8192plain_modulus":0.00039032006245121,"_bits":0.000975800156128025,"位":0.002927400468384075,"coeff_modulus_bits":0.000975800156128025,"plain_modulus":0.000585480093676815},"49":{"0":0.012115093387178193,"1":0.012115093387178193,"22":0.0010095911155981827,"rs21":0.001514386673397274,"提":0.0010095911155981827,"出":0.0020191822311963654,"了":0.002523977788995457,"基":0.0005047955577990914,"于":0.001514386673397274,"不":0.003028773346794548,"经":0.002523977788995457,"意":0.002523977788995457,"键":0.0020191822311963654,"值":0.0020191822311963654,"存":0.0010095911155981827,"储":0.0010095911155981827,"okvs":0.001514386673397274,"和":0.007067137809187279,"向":0.0010095911155981827,"量":0.0010095911155981827,"线":0.001514386673397274,"性":0.0020191822311963654,"评":0.0010095911155981827,"估":0.0010095911155981827,"vole":0.002523977788995457,"的":0.005047955577990914,"高":0.001514386673397274,"效":0.001514386673397274,"psi":0.0005047955577990914,"协":0.0020191822311963654,"议":0.0020191822311963654,"rr22":0.0010095911155981827,"对":0.001514386673397274,"数":0.001514386673397274,"据":0.001514386673397274,"结":0.003028773346794548,"构":0.0020191822311963654,"进":0.001514386673397274,"行":0.001514386673397274,"重":0.0005047955577990914,"大":0.0005047955577990914,"改":0.0005047955577990914,"并":0.001514386673397274,"引":0.0005047955577990914,"入":0.001514386673397274,"新":0.0005047955577990914,"方":0.011610297829379102,"法":0.0020191822311963654,"一":0.0020191822311963654,"步":0.0005047955577990914,"降":0.0005047955577990914,"低":0.0005047955577990914,"通":0.0010095911155981827,"信":0.0010095911155981827,"开":0.0010095911155981827,"销":0.0010095911155981827,"包":0.0010095911155981827,"含":0.0005047955577990914,"编":0.003028773346794548,"码":0.005047955577990914,"encode":0.013124684502776375,"解":0.0010095911155981827,"decode":0.0005047955577990914,"算":0.003028773346794548,"以":0.0010095911155981827,"k":0.031297324583543666,"v":0.0010095911155981827,"列":0.0005047955577990914,"表":0.0005047955577990914,"为":0.001514386673397274,"输":0.003028773346794548,"返":0.0005047955577990914,"回":0.0005047955577990914,"个":0.0010095911155981827,"抽":0.0005047955577990914,"象":0.0005047955577990914,"s":0.0010095911155981827,"应":0.0005047955577990914,"伪":0.0005047955577990914,"随":0.0005047955577990914,"机":0.0005047955577990914,"相":0.0005047955577990914,"关":0.0005047955577990914,"生":0.0010095911155981827,"成":0.0010095911155981827,"器":0.0005047955577990914,"pcgs":0.0005047955577990914,"能":0.0005047955577990914,"够":0.0005047955577990914,"传":0.0005047955577990914,"ot":0.0005047955577990914,"同":0.0005047955577990914,"时":0.0005047955577990914,"实":0.0020191822311963654,"现":0.0010095911155981827,"亚":0.0005047955577990914,"际":0.0005047955577990914,"可":0.0005047955577990914,"接":0.006562342251388188,"受":0.0005047955577990914,"计":0.001514386673397274,"pcg":0.0005047955577990914,"依":0.0005047955577990914,"赖":0.0005047955577990914,"种":0.0005047955577990914,"被":0.0005047955577990914,"称":0.0005047955577990914,"适":0.0005047955577990914,"合":0.0005047955577990914,"lpn":0.0010095911155981827,"纠":0.0005047955577990914,"错":0.0005047955577990914,"secretflow":0.0010095911155981827,"yacl":0.0010095911155981827,"供":0.0005047955577990914,"代":0.0005047955577990914,"目":0.0005047955577990914,"前":0.0005047955577990914,"支":0.0005047955577990914,"持":0.0005047955577990914,"友":0.0005047955577990914,"好":0.0005047955577990914,"型":0.0005047955577990914,"括":0.0005047955577990914,"crr21":0.0010095911155981827,"银":0.0010095911155981827,"色":0.0010095911155981827,"ldpc":0.0005047955577990914,"bcgi":0.0010095911155981827,"扩":0.0005047955577990914,"展":0.0005047955577990914,"累":0.0005047955577990914,"积":0.0005047955577990914,"silver":0.0005047955577990914,"率":0.0005047955577990914,"最":0.0005047955577990914,"但":0.0005047955577990914,"由":0.0005047955577990914,"其":0.001514386673397274,"安":0.0005047955577990914,"全":0.0005047955577990914,"缺":0.0005047955577990914,"陷":0.0005047955577990914,"推":0.0005047955577990914,"荐":0.0005047955577990914,"使":0.0005047955577990914,"用":0.0005047955577990914,"半":0.0005047955577990914,"诚":0.0005047955577990914,"收":0.006057546693589096,"采":0.0010095911155981827,"样":0.0010095911155981827,"r":0.0706713780918728,"leftarrow":0.004038364462392731,"kappar":0.0020191822311963654,"p":0.03028773346794548,"l":0.024230186774356385,"vec":0.07269056032306916,"mathrm":0.004038364462392731,"中":0.0010095911155981827,"hn":0.024230186774356385,"m":0.05148914689550732,"x":0.08329126703685008,"h":0.03937405350832913,"n":0.027763755678950026,"in":0.004038364462392731,"发":0.007067137809187279,"送":0.007067137809187279,"运":0.0010095911155981827,"sub":0.0010095911155981827,"获":0.0020191822311963654,"得":0.0020191822311963654,"delta":0.016153457849570924,"b":0.04543160020191822,"a":0.07773851590106007,"c":0.045936395759717315,"满":0.0010095911155981827,"足":0.0010095911155981827,"将":0.0020191822311963654,"给":0.0020191822311963654,"定":0.0010095911155981827,"义":0.0010095911155981827,"cdot":0.016153457849570924,"y":0.06309944472488642,"比":0.0010095911155981827,"较":0.0010095911155981827,"交":0.0010095911155981827,"集":0.0010095911155981827,"果":0.0010095911155981827,"yx":0.005552751135790005,"cap":0.004038364462392731,"kappa":0.0020191822311963654,"e":0.0010095911155981827,"o":0.0005047955577990914,"d":0.0005047955577990914},"50":{"0":0.0012953367875647669,"2":0.0012953367875647669,"4":0.0025906735751295338,"10":0.005829015544041451,"21":0.0025906735751295338,"22":0.0012953367875647669,"35":0.0012953367875647669,"134":0.0025906735751295338,"144":0.003238341968911917,"203":0.0012953367875647669,"221":0.0012953367875647669,"291":0.0025906735751295338,"308":0.0025906735751295338,"418":0.0012953367875647669,"435":0.0012953367875647669,"565":0.003238341968911917,"691":0.0012953367875647669,"702":0.0012953367875647669,"818":0.0012953367875647669,"829":0.0012953367875647669,"896":0.0012953367875647669,"912":0.0012953367875647669,"1055":0.0012953367875647669,"1072":0.0012953367875647669,"1074":0.0012953367875647669,"1091":0.0012953367875647669,"1145":0.0038860103626943004,"1223":0.0012953367875647669,"1237":0.0012953367875647669,"1243":0.0012953367875647669,"1255":0.0012953367875647669,"1986":0.0025906735751295338,"1999":0.0012953367875647669,"2006":0.0025906735751295338,"2010":0.0012953367875647669,"2011":0.0012953367875647669,"2012":0.0045336787564766836,"2015":0.0045336787564766836,"2016":0.0025906735751295338,"2017":0.0025906735751295338,"2018":0.007772020725388601,"2019":0.007772020725388601,"2020":0.0012953367875647669,"2021":0.0051813471502590676,"2022":0.0012953367875647669,"2208":0.0019430051813471502,"3958":0.0012953367875647669,"6280":0.0012953367875647669,"10957":0.0012953367875647669,"13249":0.0019430051813471502,"3133956":0.0019430051813471502,"3134061":0.0019430051813471502,"3243734":0.0019430051813471502,"3243836":0.0019430051813471502,"e":0.006476683937823834,"boyle":0.006476683937823834,"g":0.006476683937823834,"couteau":0.007772020725388601,"n":0.006476683937823834,"gilboa":0.006476683937823834,"and":0.03626943005181347,"y":0.0051813471502590676,"ishai":0.006476683937823834,"compressing":0.0012953367875647669,"vector":0.0038860103626943004,"ole":0.0038860103626943004,"in":0.022020725388601035,"acm":0.025906735751295335,"ccs":0.011658031088082901,"pages":0.009067357512953367,"press":0.009067357512953367,"october":0.0025906735751295338,"l":0.0051813471502590676,"kohl":0.0051813471502590676,"p":0.014248704663212436,"rindal":0.010362694300518135,"scholl":0.0051813471502590676,"efficient":0.010362694300518135,"two":0.0025906735751295338,"round":0.0025906735751295338,"ot":0.0038860103626943004,"extension":0.0038860103626943004,"silent":0.0038860103626943004,"non":0.0025906735751295338,"interactive":0.0025906735751295338,"secure":0.0051813471502590676,"computation":0.0051813471502590676,"november":0.0038860103626943004,"daniel":0.0012953367875647669,"j":0.0038860103626943004,"bernstein":0.0012953367875647669,"curve25519":0.0012953367875647669,"new":0.0012953367875647669,"diffie":0.0012953367875647669,"hellman":0.0012953367875647669,"speed":0.0012953367875647669,"records":0.0012953367875647669,"public":0.0012953367875647669,"key":0.0012953367875647669,"cryptography":0.0025906735751295338,"pkc":0.0012953367875647669,"springer":0.0051813471502590676,"verlag":0.0025906735751295338,"lncs":0.0038860103626943004,"page":0.0025906735751295338,"cited":0.0012953367875647669,"on":0.011658031088082901,"elette":0.0012953367875647669,"geoffroy":0.0025906735751295338,"niv":0.0012953367875647669,"yuval":0.0012953367875647669,"lisa":0.0012953367875647669,"nicolas":0.0012953367875647669,"resch":0.0012953367875647669,"peter":0.006476683937823834,"correlated":0.0012953367875647669,"pseudorandomness":0.0012953367875647669,"from":0.011658031088082901,"expand":0.0025906735751295338,"accumulate":0.0012953367875647669,"codes":0.0038860103626943004,"crypto2022":0.0012953367875647669,"baldi":0.0012953367875647669,"baronio":0.0012953367875647669,"r":0.0025906735751295338,"cristofaro":0.0012953367875647669,"d":0.007772020725388601,"gasti":0.0012953367875647669,"tsudik":0.0012953367875647669,"countering":0.0012953367875647669,"gattaca":0.0012953367875647669,"testing":0.0012953367875647669,"of":0.006476683937823834,"fully":0.0038860103626943004,"sequenced":0.0012953367875647669,"human":0.0012953367875647669,"genomes":0.0012953367875647669,"conference":0.0038860103626943004,"computer":0.0025906735751295338,"communications":0.0025906735751295338,"security":0.006476683937823834,"pp":0.006476683937823834,"pseudorandom":0.0038860103626943004,"correlation":0.0025906735751295338,"generators":0.0025906735751295338,"ring":0.0012953367875647669,"lpn":0.0025906735751295338,"chen":0.0025906735751295338,"h":0.0025906735751295338,"huang":0.0012953367875647669,"z":0.0012953367875647669,"laine":0.0038860103626943004,"k":0.0051813471502590676,"labeled":0.0025906735751295338,"psi":0.007772020725388601,"homomorphic":0.0051813471502590676,"encryption":0.0051813471502590676,"with":0.0038860103626943004,"malicious":0.0012953367875647669,"lie":0.0012953367875647669,"mannan":0.0012953367875647669,"m":0.007772020725388601,"backes":0.0012953367875647669,"wang":0.0025906735751295338,"x":0.0038860103626943004,"eds":0.0038860103626943004,"oct":0.0025906735751295338,"https":0.013601036269430052,"doi":0.0038860103626943004,"org":0.013601036269430052,"fast":0.006476683937823834,"private":0.006476683937823834,"set":0.006476683937823834,"intersection":0.006476683937823834,"thuraisingham":0.0012953367875647669,"b":0.0025906735751295338,"evans":0.0012953367875647669,"malkin":0.0012953367875647669,"t":0.0025906735751295338,"xu":0.0012953367875647669,"nov":0.0012953367875647669,"kelong":0.0012953367875647669,"cong":0.0012953367875647669,"radames":0.0012953367875647669,"cruz":0.0012953367875647669,"moreno":0.0012953367875647669,"mariana":0.0012953367875647669,"botelho":0.0012953367875647669,"da":0.0012953367875647669,"gama":0.0012953367875647669,"wei":0.0012953367875647669,"dai":0.0012953367875647669,"ilia":0.0012953367875647669,"iliashenko":0.0012953367875647669,"kim":0.0012953367875647669,"michael":0.0012953367875647669,"rosenberg":0.0012953367875647669,"reduced":0.0012953367875647669,"communication":0.0025906735751295338,"proceedings":0.0012953367875647669,"the":0.0038860103626943004,"sigsac":0.0012953367875647669,"securitynovember":0.0012953367875647669,"srinivasan":0.0038860103626943004,"raghuraman":0.0038860103626943004,"silver":0.0012953367875647669,"vole":0.0038860103626943004,"oblivious":0.0038860103626943004,"transfer":0.0012953367875647669,"hardness":0.0012953367875647669,"decoding":0.0012953367875647669,"structured":0.0012953367875647669,"ldpc":0.0012953367875647669,"crypto2021":0.0012953367875647669,"differentially":0.0012953367875647669,"arxiv":0.0019430051813471502,"pdf":0.007772020725388601,"costello":0.0012953367875647669,"c":0.0051813471502590676,"longa":0.0012953367875647669,"fourq":0.0012953367875647669,"four":0.0012953367875647669,"dimensional":0.0012953367875647669,"decompositions":0.0012953367875647669,"a":0.007772020725388601,"q":0.0012953367875647669,"curve":0.0012953367875647669,"over":0.0012953367875647669,"mersenne":0.0012953367875647669,"prime":0.0025906735751295338,"cryptology":0.0025906735751295338,"eprint":0.006476683937823834,"archive":0.0045336787564766836,"report":0.0025906735751295338,"iacr":0.0038860103626943004,"fan":0.0012953367875647669,"vercauteren":0.0012953367875647669,"f":0.0025906735751295338,"somewhat":0.0012953367875647669,"practical":0.0012953367875647669,"http":0.0038860103626943004,"bernardo":0.0012953367875647669,"huberman":0.0012953367875647669,"matt":0.0012953367875647669,"franklin":0.0012953367875647669,"tad":0.0012953367875647669,"hogg":0.0012953367875647669,"enhancing":0.0012953367875647669,"privacy":0.0051813471502590676,"trust":0.0012953367875647669,"electronic":0.0025906735751295338,"communities":0.0012953367875647669,"commerce":0.0012953367875647669,"github":0.0038860103626943004,"com":0.0038860103626943004,"intel":0.0019430051813471502,"ipp":0.0019430051813471502,"crypto":0.0019430051813471502,"jarecki":0.0012953367875647669,"s":0.0025906735751295338,"liu":0.0012953367875647669,"scn":0.0012953367875647669,"vol":0.0025906735751295338,"v":0.0012953367875647669,"kolesnikov":0.0012953367875647669,"kumaresan":0.0012953367875647669,"rosulek":0.0012953367875647669,"trieu":0.0012953367875647669,"batched":0.0012953367875647669,"prf":0.0012953367875647669,"applications":0.0012953367875647669,"to":0.0012953367875647669,"meadows":0.0012953367875647669,"more":0.0012953367875647669,"cryptographic":0.0012953367875647669,"matchmaking":0.0012953367875647669,"protocol":0.0012953367875647669,"for":0.0051813471502590676,"use":0.0012953367875647669,"absence":0.0012953367875647669,"continuously":0.0012953367875647669,"available":0.0012953367875647669,"third":0.0012953367875647669,"party":0.0012953367875647669,"ieee":0.0038860103626943004,"symposium":0.0025906735751295338,"april":0.0012953367875647669,"pinkas":0.0012953367875647669,"schneider":0.0012953367875647669,"zohner":0.0012953367875647669,"scalable":0.0025906735751295338,"based":0.0012953367875647669,"transactions":0.0012953367875647669,"tops":0.0012953367875647669,"resende":0.0012953367875647669,"aranha":0.0012953367875647669,"faster":0.0012953367875647669,"unbalanced":0.0012953367875647669,"meiklejohn":0.0012953367875647669,"sako":0.0012953367875647669,"fc2018":0.0012953367875647669,"heidelberg":0.0012953367875647669,"feb":0.0012953367875647669,"mar":0.0012953367875647669,"blazing":0.0012953367875647669,"improved":0.0025906735751295338,"okvs":0.0012953367875647669,"subfield":0.0012953367875647669,"titouan":0.0012953367875647669,"tanguy":0.0012953367875647669,"convolute":0.0012953367875647669,"crypto2023":0.0012953367875647669,"phillipp":0.0012953367875647669,"schoppmann":0.0025906735751295338,"oprf":0.0012953367875647669,"circuit":0.0012953367875647669,"eurocrypt2021":0.0012953367875647669,"microsoft":0.0045336787564766836,"seal":0.003238341968911917,"release":0.0012953367875647669,"sep":0.0012953367875647669,"research":0.0012953367875647669,"redmond":0.0012953367875647669,"wa":0.0012953367875647669,"standards":0.0012953367875647669,"sec":0.0012953367875647669,"www":0.0038860103626943004,"secg":0.0019430051813471502,"sec2":0.0019430051813471502,"v2":0.0019430051813471502,"gascón":0.0012953367875647669,"reichert":0.0012953367875647669,"raykova":0.0012953367875647669,"distributed":0.0012953367875647669,"constructions":0.0012953367875647669,"implementation":0.0012953367875647669,"weng":0.0012953367875647669,"yang":0.0012953367875647669,"katz":0.0012953367875647669,"wolverine":0.0012953367875647669,"zero":0.0012953367875647669,"knowledge":0.0012953367875647669,"proofs":0.0012953367875647669,"boolean":0.0012953367875647669,"arithmetic":0.0012953367875647669,"circuits":0.0012953367875647669,"sp":0.0012953367875647669,"functions":0.0012953367875647669,"oprfs":0.0012953367875647669,"using":0.0012953367875647669,"order":0.0012953367875647669,"groups":0.0012953367875647669,"ietf":0.0019430051813471502,"id":0.0019430051813471502,"draft":0.0019430051813471502,"irtf":0.0019430051813471502,"cfrg":0.0019430051813471502,"voprf":0.0019430051813471502,"html":0.0019430051813471502},"51":{"this":0.014492753623188406,"page":0.014492753623188406,"covers":0.014492753623188406,"all":0.014492753623188406,"protocol":0.014492753623188406,"buffers":0.014492753623188406,"message":0.014492753623188406,"as":0.014492753623188406,"apis":0.014492753623188406,"psi":0.11594202898550725,"v1":0.057971014492753624,"配":0.2318840579710145,"置":0.2318840579710145,"v2":0.057971014492753624,"pir":0.057971014492753624,"启":0.057971014492753624,"动":0.057971014492753624},"52":{},"53":{"说":0.019230769230769232,"明":0.019230769230769232,"apsi":0.09615384615384616,"接":0.04807692307692308,"收":0.04807692307692308,"方":0.09615384615384616,"配":0.09615384615384616,"置":0.09615384615384616,"发":0.04807692307692308,"送":0.04807692307692308,"pir":0.04807692307692308,"结":0.04807692307692308,"果":0.04807692307692308,"报":0.04807692307692308,"告":0.04807692307692308,"标":0.028846153846153848,"量":0.028846153846153848,"值":0.028846153846153848,"类":0.028846153846153848,"型":0.028846153846153848},"54":{},"55":{"1":0.00546448087431694,"字":0.00546448087431694,"段":0.00546448087431694,"类":0.00546448087431694,"型":0.00546448087431694,"描":0.01092896174863388,"述":0.01092896174863388,"threads":0.00546448087431694,"uint32":0.022950819672131147,"使":0.01092896174863388,"用":0.0273224043715847,"的":0.03825136612021858,"线":0.00546448087431694,"程":0.00546448087431694,"数":0.02185792349726776,"log_file":0.00546448087431694,"string":0.03825136612021858,"日":0.00546448087431694,"志":0.00546448087431694,"文":0.0273224043715847,"件":0.02185792349726776,"路":0.02185792349726776,"径":0.02185792349726776,"仅":0.01639344262295082,"适":0.01639344262295082,"于":0.01639344262295082,"apsi":0.01639344262295082,"silent":0.00546448087431694,"bool":0.015300546448087432,"不":0.01092896174863388,"将":0.01639344262295082,"输":0.00546448087431694,"出":0.00546448087431694,"写":0.01092896174863388,"入":0.01092896174863388,"控":0.00546448087431694,"制":0.00546448087431694,"台":0.00546448087431694,"log_level":0.00546448087431694,"可":0.00546448087431694,"选":0.00546448087431694,"值":0.00546448087431694,"为":0.01092896174863388,"all":0.00546448087431694,"debug":0.00546448087431694,"info":0.00546448087431694,"默":0.01092896174863388,"认":0.01092896174863388,"warning":0.00546448087431694,"error":0.00546448087431694,"off":0.00546448087431694,"query_file":0.00546448087431694,"包":0.00546448087431694,"含":0.00546448087431694,"查":0.01092896174863388,"询":0.01639344262295082,"据":0.00546448087431694,"本":0.00546448087431694,"每":0.01092896174863388,"行":0.00546448087431694,"一":0.00546448087431694,"个":0.00546448087431694,"需":0.00546448087431694,"要":0.00546448087431694,"标":0.00546448087431694,"题":0.00546448087431694,"output_file":0.00546448087431694,"交":0.00546448087431694,"集":0.00546448087431694,"结":0.00546448087431694,"果":0.01092896174863388,"params_file":0.00546448087431694,"发":0.02185792349726776,"送":0.02185792349726776,"方":0.0273224043715847,"参":0.00546448087431694,"json":0.00546448087431694,"如":0.00546448087431694,"未":0.00546448087431694,"设":0.00546448087431694,"置":0.01639344262295082,"接":0.00546448087431694,"收":0.00546448087431694,"问":0.00546448087431694,"这":0.00546448087431694,"会":0.00546448087431694,"导":0.00546448087431694,"致":0.00546448087431694,"额":0.00546448087431694,"外":0.00546448087431694,"通":0.00546448087431694,"信":0.00546448087431694,"experimental_enable_bucketize":0.00546448087431694,"必":0.01092896174863388,"须":0.01092896174863388,"与":0.01092896174863388,"配":0.01092896174863388,"相":0.01092896174863388,"同":0.01092896174863388,"experimental_bucket_cnt":0.00546448087431694,"query_batch_size":0.00546448087431694,"批":0.00546448087431694,"次":0.00546448087431694,"量":0.00546448087431694},"56":{"1":0.002224199288256228,"2":0.002224199288256228,"16":0.002224199288256228,"1024":0.002224199288256228,"注":0.00044483985765124553,"意":0.00044483985765124553,"junfeng":0.00044483985765124553,"我":0.00044483985765124553,"们":0.00044483985765124553,"提":0.0026690391459074734,"供":0.0026690391459074734,"了":0.0026690391459074734,"一":0.011565836298932384,"个":0.011565836298932384,"与":0.00044483985765124553,"原":0.00044483985765124553,"始":0.00044483985765124553,"apsi":0.00800711743772242,"cli":0.0035587188612099642,"相":0.00044483985765124553,"同":0.00044483985765124553,"的":0.03603202846975089,"配":0.00044483985765124553,"置":0.004893238434163701,"详":0.00044483985765124553,"情":0.00044483985765124553,"请":0.0026690391459074734,"查":0.00044483985765124553,"看":0.00044483985765124553,"https":0.0008896797153024911,"github":0.0008896797153024911,"com":0.0008896797153024911,"microsoft":0.0008896797153024911,"tab":0.0008896797153024911,"readme":0.0008896797153024911,"ov":0.0008896797153024911,"file":0.0008896797153024911,"command":0.0008896797153024911,"line":0.0008896797153024911,"interface":0.0008896797153024911,"字":0.004448398576512456,"段":0.002224199288256228,"类":0.002224199288256228,"型":0.004448398576512456,"描":0.0066725978647686835,"述":0.0066725978647686835,"threads":0.002224199288256228,"uint32":0.009341637010676156,"使":0.004448398576512456,"用":0.024466192170818506,"线":0.002224199288256228,"程":0.004448398576512456,"数":0.03336298932384341,"log_file":0.002224199288256228,"string":0.02179715302491103,"日":0.002224199288256228,"志":0.002224199288256228,"文":0.02891459074733096,"件":0.02891459074733096,"路":0.0066725978647686835,"径":0.0066725978647686835,"仅":0.01112099644128114,"适":0.008896797153024912,"于":0.015569395017793594,"silent":0.002224199288256228,"bool":0.012455516014234875,"不":0.0066725978647686835,"将":0.02001779359430605,"输":0.002224199288256228,"出":0.002224199288256228,"写":0.002224199288256228,"入":0.002224199288256228,"控":0.002224199288256228,"制":0.002224199288256228,"台":0.002224199288256228,"log_level":0.002224199288256228,"可":0.002224199288256228,"选":0.002224199288256228,"值":0.002224199288256228,"为":0.017793594306049824,"all":0.002224199288256228,"debug":0.002224199288256228,"info":0.002224199288256228,"默":0.0066725978647686835,"认":0.0066725978647686835,"warning":0.002224199288256228,"error":0.002224199288256228,"off":0.002224199288256228,"db_file":0.0066725978647686835,"发":0.008896797153024912,"送":0.008896797153024912,"方":0.008896797153024912,"据":0.017793594306049824,"集":0.002224199288256228,"csv":0.01112099644128114,"每":0.0066725978647686835,"行":0.002224199288256228,"项":0.004448398576512456,"目":0.0066725978647686835,"标":0.008896797153024912,"签":0.0066725978647686835,"对":0.004448398576512456,"或":0.002224199288256228,"包":0.002224199288256228,"含":0.002224199288256228,"序":0.0066725978647686835,"列":0.013345195729537367,"化":0.0066725978647686835,"senderdb":0.013345195729537367,"首":0.002224199288256228,"先":0.002224199288256228,"尝":0.004448398576512456,"试":0.004448398576512456,"加":0.004448398576512456,"载":0.002224199288256228,"如":0.01112099644128114,"果":0.01112099644128114,"失":0.002224199288256228,"败":0.002224199288256228,"则":0.0066725978647686835,"其":0.004448398576512456,"作":0.0066725978647686835,"读":0.002224199288256228,"取":0.002224199288256228,"第":0.004448398576512456,"处":0.002224199288256228,"理":0.002224199288256228,"二":0.002224199288256228,"他":0.002224199288256228,"被":0.002224199288256228,"忽":0.002224199288256228,"略":0.002224199288256228,"允":0.002224199288256228,"许":0.002224199288256228,"有":0.0066725978647686835,"题":0.002224199288256228,"params_file":0.002224199288256228,"参":0.002224199288256228,"json":0.002224199288256228,"指":0.002224199288256228,"向":0.002224199288256228,"需":0.002224199288256228,"要":0.002224199288256228,"sdb_out_file":0.002224199288256228,"保":0.0066725978647686835,"存":0.01112099644128114,"在":0.0066725978647686835,"给":0.002224199288256228,"定":0.002224199288256228,"中":0.004448398576512456,"gen_db_only":0.002224199288256228,"设":0.004448398576512456,"true":0.002224199288256228,"必":0.004448398576512456,"须":0.004448398576512456,"启":0.002224199288256228,"experimental_enable_bucketize":0.004448398576512456,"改":0.002224199288256228,"experimental_bucket_folder":0.0066725978647686835,"nonce_byte_count":0.002224199288256228,"模":0.002224199288256228,"式":0.002224199288256228,"下":0.002224199288256228,"随":0.002224199288256228,"机":0.002224199288256228,"节":0.002224199288256228,"compress":0.002224199288256228,"是":0.01112099644128114,"否":0.0066725978647686835,"内":0.004448398576512456,"压":0.002224199288256228,"缩":0.002224199288256228,"这":0.002224199288256228,"减":0.002224199288256228,"少":0.002224199288256228,"占":0.002224199288256228,"但":0.002224199288256228,"会":0.002224199288256228,"增":0.002224199288256228,"计":0.002224199288256228,"算":0.002224199288256228,"成":0.0066725978647686835,"本":0.002224199288256228,"save_db_only":0.002224199288256228,"库":0.008896797153024912,"实":0.01112099644128114,"验":0.01112099644128114,"性":0.01112099644128114,"分":0.008896797153024912,"桶":0.01112099644128114,"独":0.002224199288256228,"立":0.002224199288256228,"效":0.002224199288256228,"夹":0.004448398576512456,"experimental_bucket_cnt":0.002224199288256228,"合":0.002224199288256228,"量":0.004448398576512456,"后":0.002224199288256228,"小":0.002224199288256228,"和":0.002224199288256228,"experimental_db_generating_process_num":0.002224199288256228,"int32":0.006227758007117438,"生":0.004448398576512456,"进":0.002224199288256228,"source_file":0.002224199288256228,"源":0.002224199288256228,"前":0.002224199288256228,"支":0.002224199288256228,"持":0.002224199288256228,"experimental_bucket_group_cnt":0.002224199288256228,"组":0.004448398576512456},"57":{"pir":0.018867924528301886,"任":0.018867924528301886,"务":0.018867924528301886,"的":0.018867924528301886,"报":0.018867924528301886,"告":0.018867924528301886,"字":0.09433962264150944,"段":0.09433962264150944,"类":0.09433962264150944,"型":0.09433962264150944,"描":0.09433962264150944,"述":0.09433962264150944,"match_cnt":0.09433962264150944,"int64":0.1320754716981132,"无":0.09433962264150944},"58":{},"59":{"2":0.007207207207207207,"7":0.0036036036036036037,"8":0.0036036036036036037,"28":0.0036036036036036037,"56":0.0036036036036036037,"proto":0.009009009009009009,"类":0.036036036036036036,"型":0.036036036036036036,"备":0.009009009009009009,"注":0.009009009009009009,"c":0.009009009009009009,"java":0.009009009009009009,"python":0.009009009009009009,"doubledoubledoublefloat":0.005405405405405406,"floatfloatfloatfloat":0.0036036036036036037,"int32":0.007207207207207207,"使":0.021621621621621623,"用":0.02882882882882883,"变":0.021621621621621623,"长":0.021621621621621623,"编":0.03963963963963964,"码":0.03963963963963964,"对":0.007207207207207207,"负":0.021621621621621623,"数":0.021621621621621623,"效":0.021621621621621623,"率":0.007207207207207207,"低":0.007207207207207207,"如":0.014414414414414415,"果":0.014414414414414415,"字":0.02882882882882883,"段":0.007207207207207207,"可":0.010810810810810811,"能":0.007207207207207207,"有":0.021621621621621623,"值":0.021621621621621623,"请":0.007207207207207207,"改":0.007207207207207207,"sint32":0.007207207207207207,"int32intint":0.010810810810810811,"int64":0.007207207207207207,"sint64":0.007207207207207207,"int64longint":0.010810810810810811,"long":0.021621621621621623,"uint32":0.007207207207207207,"uint32intint":0.007207207207207207,"uint64":0.007207207207207207,"uint64longint":0.007207207207207207,"符":0.010810810810810811,"号":0.007207207207207207,"整":0.007207207207207207,"这":0.007207207207207207,"些":0.007207207207207207,"比":0.014414414414414415,"常":0.014414414414414415,"规":0.007207207207207207,"的":0.007207207207207207,"更":0.014414414414414415,"地":0.007207207207207207,"fixed32":0.0036036036036036037,"始":0.018018018018018018,"终":0.018018018018018018,"为":0.014414414414414415,"四":0.007207207207207207,"个":0.014414414414414415,"节":0.018018018018018018,"经":0.007207207207207207,"大":0.007207207207207207,"于":0.007207207207207207,"则":0.007207207207207207,"高":0.007207207207207207,"fixed64":0.0036036036036036037,"八":0.007207207207207207,"sfixed32":0.0036036036036036037,"sfixed64":0.0036036036036036037,"boolboolbooleanboolean":0.0036036036036036037,"string":0.0036036036036036037,"串":0.0036036036036036037,"必":0.0036036036036036037,"须":0.0036036036036036037,"包":0.007207207207207207,"含":0.007207207207207207,"utf":0.0036036036036036037,"或":0.0036036036036036037,"位":0.0036036036036036037,"ascii":0.0036036036036036037,"文":0.0036036036036036037,"本":0.0036036036036036037,"stringstringstr":0.0036036036036036037,"unicode":0.0036036036036036037,"bytes":0.0036036036036036037,"以":0.0036036036036036037,"任":0.0036036036036036037,"意":0.0036036036036036037,"序":0.0036036036036036037,"列":0.0036036036036036037,"stringbytestringstr":0.0036036036036036037,"double":0.0036036036036036037},"60":{},"61":{"messages":0.019417475728155338,"debugoptions":0.04854368932038835,"ecdhconfig":0.04854368932038835,"inputattr":0.04854368932038835,"ioconfig":0.04854368932038835,"kkrtconfig":0.04854368932038835,"outputattr":0.04854368932038835,"protocolconfig":0.04854368932038835,"psiconfig":0.0970873786407767,"recoveryconfig":0.04854368932038835,"rr22config":0.04854368932038835,"ubpsiconfig":0.0970873786407767,"enums":0.019417475728155338,"iotype":0.04854368932038835,"protocol":0.04854368932038835,"advancedjointype":0.04854368932038835,"role":0.04854368932038835,"mode":0.04854368932038835,"scalar":0.02912621359223301,"value":0.02912621359223301,"types":0.02912621359223301},"62":{},"63":{"默":0.04216867469879518,"认":0.04216867469879518,"日":0.006024096385542169,"志":0.006024096385542169,"记":0.006024096385542169,"录":0.006024096385542169,"的":0.03614457831325301,"等":0.012048192771084338,"级":0.012048192771084338,"为":0.03614457831325301,"info":0.018072289156626505,"支":0.006024096385542169,"持":0.006024096385542169,"以":0.006024096385542169,"下":0.006024096385542169,"trace":0.04216867469879518,"spdlog_level_trace":0.012048192771084338,"debug":0.012048192771084338,"spdlog_level_debug":0.012048192771084338,"spdlog_level_info":0.012048192771084338,"warn":0.012048192771084338,"spdlog_level_warn":0.012048192771084338,"err":0.012048192771084338,"spdlog_level_error":0.012048192771084338,"critical":0.012048192771084338,"spdlog_level_critical":0.012048192771084338,"off":0.012048192771084338,"spdlog_level_off":0.012048192771084338,"数":0.030120481927710843,"据":0.030120481927710843,"域":0.030120481927710843,"类":0.030120481927710843,"型":0.030120481927710843,"描":0.030120481927710843,"述":0.030120481927710843,"logging_level":0.030120481927710843,"string":0.08433734939759036,"无":0.030120481927710843,"trace_path":0.030120481927710843,"追":0.030120481927710843,"踪":0.030120481927710843,"路":0.030120481927710843,"径":0.030120481927710843,"tmp":0.030120481927710843,"psi":0.030120481927710843},"64":{"4096":0.0390625,"为":0.046875,"ecdh":0.0078125,"协":0.0078125,"议":0.0078125,"的":0.0078125,"配":0.0078125,"置":0.0078125,"数":0.0390625,"据":0.0390625,"域":0.0390625,"类":0.0390625,"型":0.0390625,"描":0.0390625,"述":0.0390625,"curve":0.0390625,"psi":0.0546875,"curvetype":0.0546875,"无":0.0390625,"batch_size":0.0390625,"uint64":0.0546875,"如":0.0390625,"果":0.0390625,"未":0.0390625,"指":0.0390625,"定":0.0390625,"则":0.0390625,"默":0.0390625,"认":0.0390625},"65":{"数":0.029940119760479042,"据":0.029940119760479042,"域":0.029940119760479042,"类":0.029940119760479042,"型":0.029940119760479042,"描":0.029940119760479042,"述":0.029940119760479042,"keys_unique":0.029940119760479042,"bool":0.041916167664670656,"指":0.059880239520958084,"定":0.059880239520958084,"输":0.029940119760479042,"入":0.029940119760479042,"文":0.029940119760479042,"件":0.029940119760479042,"中":0.029940119760479042,"的":0.029940119760479042,"键":0.029940119760479042,"key":0.029940119760479042,"是":0.029940119760479042,"否":0.029940119760479042,"唯":0.029940119760479042,"一":0.029940119760479042,"如":0.029940119760479042,"果":0.029940119760479042,"未":0.029940119760479042,"则":0.029940119760479042,"默":0.029940119760479042,"认":0.029940119760479042,"为":0.029940119760479042,"false":0.029940119760479042},"66":{"输":0.023255813953488372,"入":0.011627906976744186,"出":0.011627906976744186,"配":0.011627906976744186,"置":0.011627906976744186,"数":0.05813953488372093,"据":0.05813953488372093,"域":0.05813953488372093,"类":0.05813953488372093,"型":0.05813953488372093,"描":0.05813953488372093,"述":0.05813953488372093,"type":0.05813953488372093,"iotype":0.06976744186046512,"无":0.05813953488372093,"path":0.05813953488372093,"stringfile":0.03488372093023256,"的":0.05813953488372093,"路":0.05813953488372093,"径":0.05813953488372093,"string":0.046511627906976744,"file":0.023255813953488372},"67":{"1":0.01141552511415525,"20":0.01141552511415525,"kkrt":0.00228310502283105,"协":0.00228310502283105,"议":0.00228310502283105,"的":0.0365296803652968,"配":0.00228310502283105,"置":0.02511415525114155,"数":0.0228310502283105,"据":0.01141552511415525,"域":0.01141552511415525,"类":0.01141552511415525,"型":0.01141552511415525,"描":0.01141552511415525,"述":0.01141552511415525,"bucket_size":0.0228310502283105,"uint64":0.01598173515981735,"因":0.01141552511415525,"为":0.0228310502283105,"整":0.01141552511415525,"个":0.0228310502283105,"输":0.0228310502283105,"入":0.03424657534246575,"可":0.0228310502283105,"能":0.03424657534246575,"不":0.01141552511415525,"完":0.01141552511415525,"全":0.01141552511415525,"放":0.01141552511415525,"内":0.0228310502283105,"存":0.0228310502283105,"中":0.0228310502283105,"所":0.01141552511415525,"以":0.01141552511415525,"会":0.01141552511415525,"被":0.01141552511415525,"分":0.01141552511415525,"成":0.01141552511415525,"桶":0.0228310502283105,"bucket":0.01141552511415525,"用":0.01141552511415525,"于":0.01141552511415525,"指":0.0228310502283105,"定":0.0228310502283105,"每":0.01141552511415525,"元":0.01141552511415525,"素":0.01141552511415525,"量":0.01141552511415525,"如":0.0228310502283105,"果":0.0228310502283105,"有":0.01141552511415525,"限":0.01141552511415525,"则":0.0228310502283105,"应":0.0228310502283105,"设":0.0228310502283105,"较":0.0228310502283105,"小":0.01141552511415525,"值":0.03424657534246575,"否":0.01141552511415525,"大":0.01141552511415525,"未":0.01141552511415525,"默":0.01141552511415525,"认":0.01141552511415525},"68":{"数":0.03355704697986577,"据":0.03355704697986577,"域":0.03355704697986577,"类":0.03355704697986577,"型":0.03355704697986577,"描":0.03355704697986577,"述":0.03355704697986577,"csv_null_rep":0.03355704697986577,"stringcsv":0.020134228187919462,"输":0.03355704697986577,"出":0.03355704697986577,"文":0.03355704697986577,"件":0.03355704697986577,"中":0.03355704697986577,"空":0.03355704697986577,"值":0.06711409395973154,"的":0.03355704697986577,"表":0.03355704697986577,"示":0.03355704697986577,"如":0.03355704697986577,"果":0.03355704697986577,"未":0.03355704697986577,"指":0.03355704697986577,"定":0.03355704697986577,"默":0.03355704697986577,"认":0.03355704697986577,"为":0.03355704697986577,"null":0.03355704697986577,"string":0.026845637583892617,"csv":0.013422818791946308},"69":{"所":0.0038910505836575876,"有":0.0038910505836575876,"与":0.0038910505836575876,"psi":0.0038910505836575876,"协":0.0622568093385214,"议":0.0622568093385214,"相":0.0038910505836575876,"关":0.0038910505836575876,"的":0.0622568093385214,"内":0.0038910505836575876,"容":0.0038910505836575876,"数":0.019455252918287938,"据":0.019455252918287938,"域":0.019455252918287938,"类":0.019455252918287938,"型":0.019455252918287938,"描":0.019455252918287938,"述":0.019455252918287938,"protocol":0.042801556420233464,"无":0.038910505836575876,"role":0.042801556420233464,"broadcast_result":0.019455252918287938,"bool":0.027237354085603113,"指":0.019455252918287938,"定":0.019455252918287938,"是":0.019455252918287938,"否":0.019455252918287938,"将":0.019455252918287938,"结":0.019455252918287938,"果":0.019455252918287938,"发":0.019455252918287938,"送":0.019455252918287938,"给":0.019455252918287938,"senderecdh_config":0.007782101167315175,"ecdhconfigecdh":0.011673151750972763,"配":0.058365758754863814,"置":0.058365758754863814,"kkrt_config":0.019455252918287938,"kkrtconfigkkrt":0.011673151750972763,"rr22_config":0.019455252918287938,"rr22configrr22":0.011673151750972763,"sender":0.011673151750972763,"ecdh_config":0.011673151750972763,"ecdhconfig":0.011673151750972763,"ecdh":0.007782101167315175,"kkrtconfig":0.011673151750972763,"kkrt":0.007782101167315175,"rr22config":0.011673151750972763,"rr22":0.007782101167315175},"70":{"顶":0.0012919896640826874,"层":0.0012919896640826874,"配":0.027131782945736434,"置":0.03359173126614987,"run":0.0012919896640826874,"psiconfig":0.00904392764857881,"psireport":0.0012919896640826874,"advanced_join_type":0.014211886304909561,"有":0.0012919896640826874,"很":0.0012919896640826874,"多":0.0012919896640826874,"种":0.0012919896640826874,"类":0.012919896640826873,"型":0.012919896640826873,"inner":0.002583979328165375,"join":0.0103359173126615,"例":0.0012919896640826874,"如":0.014211886304909561,"若":0.0012919896640826874,"receiver":0.002583979328165375,"的":0.05426356589147287,"输":0.04780361757105943,"入":0.015503875968992248,"是":0.028423772609819122,"sender":0.002583979328165375,"在":0.0012919896640826874,"后":0.0012919896640826874,"出":0.03229974160206718,"left":0.002583979328165375,"after":0.00516795865633075,"左":0.00516795865633075,"侧":0.0103359173126615,"右":0.00516795865633075,"right":0.002583979328165375,"full":0.002583979328165375,"difference":0.002583979328165375,"数":0.006459948320413436,"据":0.006459948320413436,"域":0.006459948320413436,"描":0.006459948320413436,"述":0.006459948320413436,"protocol_config":0.006459948320413436,"protocolconfig":0.007751937984496124,"协":0.01937984496124031,"议":0.01937984496124031,"input_config":0.006459948320413436,"ioconfig":0.015503875968992248,"output_config":0.006459948320413436,"keysrepeated":0.003875968992248062,"string":0.00904392764857881,"求":0.006459948320413436,"交":0.006459948320413436,"所":0.006459948320413436,"用":0.006459948320413436,"键":0.012919896640826873,"key":0.006459948320413436,"debug_options":0.006459948320413436,"debugoptionslogging":0.003875968992248062,"level":0.006459948320413436,"disable_alignment":0.006459948320413436,"bool":0.01808785529715762,"果":0.012919896640826873,"设":0.012919896640826873,"为":0.012919896640826873,"true":0.006459948320413436,"那":0.006459948320413436,"么":0.006459948320413436,"不":0.006459948320413436,"一":0.006459948320413436,"定":0.012919896640826873,"保":0.006459948320413436,"证":0.006459948320413436,"对":0.006459948320413436,"齐":0.006459948320413436,"recovery_config":0.006459948320413436,"recoveryconfig":0.007751937984496124,"恢":0.006459948320413436,"复":0.006459948320413436,"advancedjointype":0.007751937984496124,"无":0.006459948320413436,"left_side":0.006459948320413436,"role":0.007751937984496124,"了":0.006459948320413436,"advanced_join_type_left_join":0.006459948320413436,"或":0.006459948320413436,"advanced_join_type_right_join":0.006459948320413436,"则":0.006459948320413436,"该":0.006459948320413436,"项":0.006459948320413436,"必":0.006459948320413436,"填":0.006459948320413436,"check_hash_digest":0.006459948320413436,"检":0.006459948320413436,"查":0.006459948320413436,"参":0.006459948320413436,"与":0.006459948320413436,"方":0.006459948320413436,"哈":0.006459948320413436,"希":0.006459948320413436,"值":0.006459948320413436,"否":0.012919896640826873,"相":0.006459948320413436,"等":0.006459948320413436,"来":0.006459948320413436,"确":0.006459948320413436,"提":0.006459948320413436,"前":0.006459948320413436,"终":0.006459948320413436,"止":0.006459948320413436,"input_attr":0.006459948320413436,"inputattr":0.007751937984496124,"属":0.012919896640826873,"性":0.012919896640826873,"output_attr":0.006459948320413436,"outputattr":0.007751937984496124,"keys":0.002583979328165375,"repeated":0.00516795865633075,"debugoptions":0.003875968992248062,"logging":0.002583979328165375},"71":{"协":0.016129032258064516,"议":0.016129032258064516,"恢":0.010752688172043012,"复":0.010752688172043012,"配":0.005376344086021506,"置":0.005376344086021506,"如":0.010752688172043012,"果":0.005376344086021506,"psi":0.005376344086021506,"意":0.005376344086021506,"外":0.010752688172043012,"失":0.005376344086021506,"败":0.005376344086021506,"发":0.005376344086021506,"生":0.005376344086021506,"网":0.005376344086021506,"络":0.005376344086021506,"错":0.005376344086021506,"误":0.005376344086021506,"可":0.010752688172043012,"以":0.016129032258064516,"到":0.005376344086021506,"最":0.005376344086021506,"近":0.005376344086021506,"的":0.03763440860215054,"检":0.03225806451612903,"查":0.03225806451612903,"点":0.03225806451612903,"此":0.005376344086021506,"节":0.005376344086021506,"省":0.005376344086021506,"时":0.005376344086021506,"间":0.03225806451612903,"但":0.005376344086021506,"是":0.005376344086021506,"会":0.005376344086021506,"有":0.005376344086021506,"额":0.005376344086021506,"磁":0.005376344086021506,"盘":0.005376344086021506,"读":0.005376344086021506,"写":0.005376344086021506,"和":0.03225806451612903,"占":0.005376344086021506,"用":0.005376344086021506,"数":0.026881720430107527,"据":0.026881720430107527,"域":0.026881720430107527,"类":0.026881720430107527,"型":0.026881720430107527,"描":0.026881720430107527,"述":0.026881720430107527,"enabled":0.026881720430107527,"bool":0.03763440860215054,"无":0.026881720430107527,"folder":0.026881720430107527,"string":0.03763440860215054,"保":0.026881720430107527,"存":0.026881720430107527,"中":0.026881720430107527,"状":0.026881720430107527,"态":0.026881720430107527,"目":0.026881720430107527,"录":0.026881720430107527},"72":{"1":0.011037527593818985,"20":0.011037527593818985,"configs":0.002207505518763797,"for":0.002207505518763797,"rr22":0.002207505518763797,"protocol":0.002207505518763797,"数":0.02207505518763797,"据":0.011037527593818985,"域":0.011037527593818985,"类":0.011037527593818985,"型":0.011037527593818985,"描":0.011037527593818985,"述":0.011037527593818985,"bucket_size":0.02207505518763797,"uint64":0.01545253863134658,"因":0.011037527593818985,"为":0.02207505518763797,"整":0.011037527593818985,"个":0.02207505518763797,"输":0.02207505518763797,"入":0.033112582781456956,"可":0.02207505518763797,"能":0.033112582781456956,"不":0.011037527593818985,"完":0.011037527593818985,"全":0.011037527593818985,"放":0.011037527593818985,"内":0.02207505518763797,"存":0.02207505518763797,"中":0.02207505518763797,"所":0.011037527593818985,"以":0.011037527593818985,"会":0.011037527593818985,"被":0.011037527593818985,"分":0.011037527593818985,"成":0.011037527593818985,"桶":0.02207505518763797,"bucket":0.011037527593818985,"用":0.011037527593818985,"于":0.011037527593818985,"指":0.02207505518763797,"定":0.02207505518763797,"每":0.011037527593818985,"的":0.033112582781456956,"元":0.011037527593818985,"素":0.011037527593818985,"量":0.011037527593818985,"如":0.02207505518763797,"果":0.02207505518763797,"有":0.011037527593818985,"限":0.011037527593818985,"则":0.02207505518763797,"应":0.02207505518763797,"设":0.02207505518763797,"置":0.02207505518763797,"较":0.02207505518763797,"小":0.011037527593818985,"值":0.033112582781456956,"否":0.011037527593818985,"大":0.011037527593818985,"未":0.011037527593818985,"默":0.011037527593818985,"认":0.011037527593818985,"low_comm_mode":0.011037527593818985,"bool":0.01545253863134658,"无":0.011037527593818985},"73":{"config":0.0009775171065493646,"for":0.0009775171065493646,"unbalanced":0.0009775171065493646,"psi":0.0009775171065493646,"数":0.004887585532746823,"据":0.004887585532746823,"域":0.004887585532746823,"类":0.004887585532746823,"型":0.004887585532746823,"描":0.004887585532746823,"述":0.004887585532746823,"mode":0.044965786901270774,"ubpsiconfig":0.005865102639296188,"必":0.04887585532746823,"填":0.04887585532746823,"role":0.016617790811339198,"当":0.039100684261974585,"为":0.04887585532746823,"mode_offline_gen_cache":0.019550342130987292,"之":0.004887585532746823,"外":0.004887585532746823,"的":0.01466275659824047,"其":0.004887585532746823,"他":0.004887585532746823,"模":0.004887585532746823,"式":0.004887585532746823,"时":0.039100684261974585,"input_config":0.004887585532746823,"ioconfig":0.011730205278592375,"对":0.03421309872922776,"原":0.004887585532746823,"始":0.004887585532746823,"输":0.019550342130987292,"入":0.009775171065493646,"配":0.004887585532746823,"置":0.01466275659824047,"于":0.024437927663734114,"server":0.01466275659824047,"mode_offline":0.01466275659824047,"mode_full":0.02932551319648094,"client":0.009775171065493646,"mode_online":0.019550342130987292,"和":0.019550342130987292,"keysrepeated":0.002932551319648094,"string":0.020527859237536656,"求":0.004887585532746823,"交":0.004887585532746823,"所":0.004887585532746823,"用":0.004887585532746823,"键":0.004887585532746823,"and":0.004887585532746823,"server_secret_key_path":0.004887585532746823,"cache_path":0.004887585532746823,"server_get_result":0.009775171065493646,"bool":0.020527859237536656,"无":0.01466275659824047,"client_get_result":0.009775171065493646,"disable_alignment":0.004887585532746823,"如":0.009775171065493646,"果":0.009775171065493646,"设":0.009775171065493646,"true":0.009775171065493646,"那":0.004887585532746823,"么":0.004887585532746823,"出":0.009775171065493646,"不":0.004887585532746823,"一":0.004887585532746823,"定":0.004887585532746823,"保":0.004887585532746823,"证":0.004887585532746823,"齐":0.004887585532746823,"仅":0.004887585532746823,"都":0.004887585532746823,"才":0.004887585532746823,"有":0.004887585532746823,"效":0.004887585532746823,"output_config":0.004887585532746823,"debug_options":0.004887585532746823,"debugoptionslogging":0.002932551319648094,"level":0.004887585532746823,"advanced_join_type":0.009775171065493646,"psiconfig":0.005865102639296188,"advancedjointype":0.005865102639296188,"left_side":0.004887585532746823,"了":0.004887585532746823,"advanced_join_type_left_join":0.004887585532746823,"或":0.004887585532746823,"advanced_join_type_right_join":0.004887585532746823,"则":0.004887585532746823,"该":0.004887585532746823,"项":0.004887585532746823,"input_attr":0.004887585532746823,"inputattr":0.005865102639296188,"属":0.009775171065493646,"性":0.009775171065493646,"output_attr":0.004887585532746823,"outputattr":0.005865102639296188,"keys":0.0019550342130987292,"repeated":0.0039100684261974585,"debugoptions":0.002932551319648094,"logging":0.0019550342130987292},"74":{},"75":{"0":0.028169014084507043,"1":0.028169014084507043,"todo":0.014084507042253521,"junfeng":0.014084507042253521,"support":0.014084507042253521,"more":0.014084507042253521,"io":0.014084507042253521,"types":0.014084507042253521,"including":0.014084507042253521,"oss":0.014084507042253521,"sql":0.014084507042253521,"etc":0.014084507042253521,"namenumber":0.04225352112676056,"描":0.07042253521126761,"述":0.07042253521126761,"io_type_unspecified0":0.04225352112676056,"无":0.07042253521126761,"io_type_file_csv1":0.04225352112676056,"本":0.07042253521126761,"地":0.07042253521126761,"csv":0.07042253521126761,"文":0.07042253521126761,"件":0.07042253521126761,"name":0.028169014084507043,"number":0.028169014084507043,"io_type_unspecified":0.028169014084507043,"io_type_file_csv":0.028169014084507043},"76":{"0":0.005076142131979695,"1":0.005076142131979695,"2":0.005076142131979695,"3":0.005076142131979695,"10":0.012690355329949238,"134":0.025380710659898477,"320":0.015228426395939087,"799":0.015228426395939087,"1109":0.012690355329949238,"1986":0.03807106598984772,"2016":0.015228426395939087,"2022":0.015228426395939087,"10022":0.012690355329949238,"psi":0.015228426395939087,"协":0.0025380710659898475,"议":0.0025380710659898475,"namenumber":0.007614213197969543,"描":0.012690355329949238,"述":0.012690355329949238,"protocol_unspecified0":0.007614213197969543,"无":0.012690355329949238,"protocol_ecdh1":0.007614213197969543,"mea86":0.012690355329949238,"c":0.012690355329949238,"meadows":0.012690355329949238,"a":0.025380710659898477,"more":0.012690355329949238,"efficient":0.017766497461928935,"cryptographic":0.012690355329949238,"matchmaking":0.012690355329949238,"protocol":0.012690355329949238,"for":0.012690355329949238,"use":0.012690355329949238,"in":0.012690355329949238,"the":0.012690355329949238,"absence":0.012690355329949238,"of":0.012690355329949238,"continuously":0.012690355329949238,"available":0.012690355329949238,"third":0.012690355329949238,"party":0.012690355329949238,"ieee":0.012690355329949238,"symposium":0.012690355329949238,"on":0.012690355329949238,"security":0.012690355329949238,"and":0.012690355329949238,"privacy":0.012690355329949238,"oakland":0.012690355329949238,"ca":0.012690355329949238,"usa":0.012690355329949238,"pp":0.012690355329949238,"doi":0.012690355329949238,"sp":0.012690355329949238,"protocol_kkrt2efficient":0.007614213197969543,"batched":0.012690355329949238,"oblivious":0.012690355329949238,"prf":0.012690355329949238,"with":0.012690355329949238,"applications":0.012690355329949238,"to":0.012690355329949238,"private":0.012690355329949238,"set":0.012690355329949238,"intersection":0.012690355329949238,"https":0.030456852791878174,"eprint":0.030456852791878174,"iacr":0.030456852791878174,"org":0.030456852791878174,"pdfprotocol_rr223blazing":0.005076142131979695,"fast":0.012690355329949238,"pdf":0.025380710659898477,"name":0.005076142131979695,"number":0.005076142131979695,"protocol_unspecified":0.005076142131979695,"protocol_ecdh":0.005076142131979695,"protocol_kkrt":0.005076142131979695,"protocol_rr223blazing":0.0025380710659898475,"protocol_rr22":0.005076142131979695,"blazing":0.005076142131979695},"77":{"0":0.00784313725490196,"1":0.00784313725490196,"2":0.00784313725490196,"3":0.00784313725490196,"4":0.00784313725490196,"5":0.00784313725490196,"高":0.00392156862745098,"级":0.00392156862745098,"求":0.00392156862745098,"交":0.00392156862745098,"允":0.00392156862745098,"许":0.00392156862745098,"重":0.011764705882352941,"复":0.011764705882352941,"的":0.027450980392156862,"键":0.011764705882352941,"如":0.03137254901960784,"果":0.03137254901960784,"开":0.01568627450980392,"启":0.01568627450980392,"那":0.03137254901960784,"么":0.03137254901960784,"会":0.023529411764705882,"跳":0.00784313725490196,"过":0.00784313725490196,"duplicates_check":0.00784313725490196,"协":0.00784313725490196,"议":0.00784313725490196,"双":0.00784313725490196,"方":0.0392156862745098,"可":0.00784313725490196,"以":0.00784313725490196,"持":0.00784313725490196,"有":0.00784313725490196,"使":0.01568627450980392,"用":0.01568627450980392,"left":0.00784313725490196,"join":0.03137254901960784,"full":0.01568627450980392,"或":0.01568627450980392,"difference":0.01568627450980392,"左":0.01568627450980392,"差":0.01568627450980392,"集":0.01568627450980392,"大":0.01568627450980392,"小":0.01568627450980392,"泄":0.01568627450980392,"露":0.01568627450980392,"给":0.01568627450980392,"右":0.01568627450980392,"right":0.00784313725490196,"namenumber":0.011764705882352941,"描":0.0196078431372549,"述":0.0196078431372549,"advanced_join_type_unspecified0":0.011764705882352941,"无":0.11764705882352941,"advanced_join_type_inner_join1":0.011764705882352941,"advanced_join_type_left_join2":0.011764705882352941,"advanced_join_type_right_join3":0.011764705882352941,"advanced_join_type_full_join4":0.011764705882352941,"advanced_join_type_difference5":0.011764705882352941,"name":0.00784313725490196,"number":0.00784313725490196,"advanced_join_type_unspecified":0.00784313725490196,"advanced_join_type_inner_join":0.00784313725490196,"advanced_join_type_left_join":0.00784313725490196,"advanced_join_type_right_join":0.00784313725490196,"advanced_join_type_full_join":0.00784313725490196,"advanced_join_type_difference":0.00784313725490196},"78":{"0":0.005115089514066497,"1":0.005115089514066497,"2":0.020460358056265986,"3":0.005115089514066497,"4":0.005115089514066497,"每":0.0025575447570332483,"一":0.015345268542199489,"方":0.05370843989769821,"的":0.06649616368286446,"角":0.0025575447570332483,"色":0.0025575447570332483,"namenumber":0.0076726342710997444,"描":0.01278772378516624,"述":0.01278772378516624,"role_unspecified0":0.0076726342710997444,"无":0.01278772378516624,"role_receiver12":0.0076726342710997444,"对":0.02557544757033248,"称":0.02557544757033248,"psi":0.05115089514066496,"中":0.05115089514066496,"receiver":0.03836317135549872,"在":0.01278772378516624,"原":0.01278772378516624,"始":0.02557544757033248,"协":0.01278772378516624,"议":0.01278772378516624,"终":0.01278772378516624,"接":0.01278772378516624,"收":0.01278772378516624,"结":0.01278772378516624,"果":0.01278772378516624,"role_sender22":0.0076726342710997444,"sender":0.02557544757033248,"是":0.01278772378516624,"除":0.01278772378516624,"外":0.01278772378516624,"另":0.01278772378516624,"role_server32":0.0076726342710997444,"非":0.01278772378516624,"平":0.01278772378516624,"衡":0.01278772378516624,"server":0.030690537084398978,"持":0.01278772378516624,"有":0.01278772378516624,"数":0.01278772378516624,"据":0.01278772378516624,"集":0.01278772378516624,"大":0.01278772378516624,"得":0.01278772378516624,"多":0.01278772378516624,"role_client4server":0.0076726342710997444,"in":0.01278772378516624,"2p":0.01278772378516624,"unbalanced":0.01278772378516624,"clients":0.01278772378516624,"own":0.01278772378516624,"a":0.01278772378516624,"much":0.01278772378516624,"smaller":0.01278772378516624,"dataset":0.01278772378516624,"name":0.005115089514066497,"number":0.005115089514066497,"role_unspecified":0.005115089514066497,"role_receiver":0.005115089514066497,"role_sender":0.005115089514066497,"role_server":0.005115089514066497,"role_client":0.005115089514066497},"79":{"0":0.006711409395973154,"1":0.006711409395973154,"2":0.006711409395973154,"3":0.006711409395973154,"4":0.006711409395973154,"5":0.006711409395973154,"namenumber":0.010067114093959731,"描":0.016778523489932886,"述":0.016778523489932886,"mode_unspecified0":0.010067114093959731,"无":0.016778523489932886,"mode_offline_gen_cache1server":0.010067114093959731,"只":0.03355704697986577,"生":0.016778523489932886,"成":0.016778523489932886,"cache":0.03355704697986577,"这":0.03355704697986577,"是":0.03355704697986577,"offline":0.050335570469798654,"阶":0.08389261744966443,"段":0.08389261744966443,"的":0.03355704697986577,"第":0.03355704697986577,"一":0.016778523489932886,"部":0.03355704697986577,"分":0.03355704697986577,"mode_offline_transfer_cache2server":0.010067114093959731,"把":0.016778523489932886,"发":0.016778523489932886,"给":0.016778523489932886,"client":0.016778523489932886,"二":0.016778523489932886,"mode_offline3":0.010067114093959731,"运":0.050335570469798654,"行":0.050335570469798654,"mode_online4":0.010067114093959731,"online":0.016778523489932886,"mode_full5":0.010067114093959731,"所":0.016778523489932886,"有":0.016778523489932886,"name":0.006711409395973154,"number":0.006711409395973154,"mode_unspecified":0.006711409395973154,"mode_offline_gen_cache":0.006711409395973154,"server":0.013422818791946308,"mode_offline_transfer_cache":0.006711409395973154,"mode_offline":0.006711409395973154,"mode_online":0.006711409395973154,"mode_full":0.006711409395973154},"80":{"2":0.007079646017699115,"7":0.0035398230088495575,"8":0.0035398230088495575,"28":0.0035398230088495575,"56":0.0035398230088495575,"proto":0.008849557522123894,"中":0.008849557522123894,"的":0.01592920353982301,"类":0.035398230088495575,"型":0.035398230088495575,"注":0.008849557522123894,"释":0.008849557522123894,"c":0.008849557522123894,"java":0.008849557522123894,"python":0.008849557522123894,"doubledoubledoublefloat":0.005309734513274336,"floatfloatfloatfloat":0.0035398230088495575,"int32":0.007079646017699115,"使":0.021238938053097345,"用":0.02831858407079646,"变":0.021238938053097345,"长":0.021238938053097345,"编":0.03893805309734513,"码":0.03893805309734513,"对":0.007079646017699115,"负":0.021238938053097345,"数":0.021238938053097345,"效":0.021238938053097345,"率":0.007079646017699115,"低":0.007079646017699115,"如":0.01415929203539823,"果":0.01415929203539823,"字":0.02831858407079646,"段":0.007079646017699115,"可":0.010619469026548672,"能":0.007079646017699115,"有":0.021238938053097345,"值":0.021238938053097345,"请":0.007079646017699115,"改":0.007079646017699115,"sint32":0.007079646017699115,"int32intint":0.010619469026548672,"int64":0.007079646017699115,"sint64":0.007079646017699115,"int64longint":0.010619469026548672,"long":0.021238938053097345,"uint32":0.007079646017699115,"uint32intint":0.007079646017699115,"uint64":0.007079646017699115,"uint64longint":0.007079646017699115,"符":0.010619469026548672,"号":0.007079646017699115,"整":0.007079646017699115,"这":0.007079646017699115,"些":0.007079646017699115,"比":0.01415929203539823,"常":0.01415929203539823,"规":0.007079646017699115,"更":0.01415929203539823,"地":0.007079646017699115,"fixed32":0.0035398230088495575,"始":0.017699115044247787,"终":0.017699115044247787,"为":0.01415929203539823,"四":0.007079646017699115,"个":0.01415929203539823,"节":0.017699115044247787,"经":0.007079646017699115,"大":0.007079646017699115,"于":0.007079646017699115,"则":0.007079646017699115,"高":0.007079646017699115,"fixed64":0.0035398230088495575,"八":0.007079646017699115,"sfixed32":0.0035398230088495575,"sfixed64":0.0035398230088495575,"boolboolbooleanboolean":0.0035398230088495575,"string":0.0035398230088495575,"串":0.0035398230088495575,"必":0.0035398230088495575,"须":0.0035398230088495575,"包":0.007079646017699115,"含":0.007079646017699115,"utf":0.0035398230088495575,"或":0.0035398230088495575,"位":0.0035398230088495575,"ascii":0.0035398230088495575,"文":0.0035398230088495575,"本":0.0035398230088495575,"stringstringstr":0.0035398230088495575,"unicode":0.0035398230088495575,"bytes":0.0035398230088495575,"以":0.0035398230088495575,"任":0.0035398230088495575,"意":0.0035398230088495575,"序":0.0035398230088495575,"列":0.0035398230088495575,"stringbytestringstr":0.0035398230088495575,"double":0.0035398230088495575},"81":{},"82":{"消":0.03508771929824561,"息":0.03508771929824561,"bucketpsiconfig":0.08771929824561403,"dppsiparams":0.08771929824561403,"inputparams":0.08771929824561403,"memorypsiconfig":0.08771929824561403,"outputparams":0.08771929824561403,"psiresultreport":0.08771929824561403,"枚":0.03508771929824561,"举":0.03508771929824561,"curvetype":0.08771929824561403,"psitype":0.08771929824561403,"scalar":0.05263157894736842,"value":0.05263157894736842,"types":0.05263157894736842},"83":{},"84":{"32":0.006535947712418301,"256":0.006535947712418301,"bucket":0.00130718954248366,"psi":0.04183006535947712,"配":0.00130718954248366,"置":0.00130718954248366,"字":0.013071895424836602,"段":0.006535947712418301,"类":0.013071895424836602,"型":0.013071895424836602,"描":0.006535947712418301,"述":0.006535947712418301,"psi_type":0.006535947712418301,"psitypepsi":0.00392156862745098,"receiver_rank":0.006535947712418301,"uint32":0.018300653594771243,"指":0.026143790849673203,"定":0.026143790849673203,"接":0.013071895424836602,"收":0.013071895424836602,"方":0.013071895424836602,"编":0.006535947712418301,"号":0.006535947712418301,"该":0.006535947712418301,"将":0.013071895424836602,"获":0.006535947712418301,"取":0.006535947712418301,"结":0.013071895424836602,"果":0.013071895424836602,"broadcast_result":0.006535947712418301,"bool":0.009150326797385621,"是":0.006535947712418301,"否":0.006535947712418301,"广":0.006535947712418301,"播":0.006535947712418301,"给":0.006535947712418301,"所":0.006535947712418301,"有":0.006535947712418301,"参":0.026143790849673203,"与":0.006535947712418301,"者":0.006535947712418301,"input_params":0.006535947712418301,"inputparamspsi":0.00392156862745098,"的":0.0457516339869281,"输":0.013071895424836602,"入":0.006535947712418301,"数":0.0196078431372549,"output_params":0.006535947712418301,"outputparamspsi":0.00392156862745098,"出":0.006535947712418301,"curve_type":0.006535947712418301,"curvetype":0.00784313725490196,"可":0.032679738562091505,"选":0.032679738562091505,"在":0.006535947712418301,"需":0.006535947712418301,"要":0.006535947712418301,"时":0.006535947712418301,"中":0.013071895424836602,"使":0.013071895424836602,"用":0.026143790849673203,"椭":0.006535947712418301,"圆":0.006535947712418301,"曲":0.006535947712418301,"线":0.013071895424836602,"密":0.013071895424836602,"码":0.006535947712418301,"算":0.006535947712418301,"法":0.006535947712418301,"bucket_size":0.006535947712418301,"于":0.013071895424836602,"哈":0.006535947712418301,"希":0.006535947712418301,"桶":0.006535947712418301,"大":0.006535947712418301,"小":0.006535947712418301,"preprocess_path":0.006535947712418301,"string":0.018300653594771243,"离":0.006535947712418301,"预":0.006535947712418301,"处":0.006535947712418301,"理":0.006535947712418301,"文":0.013071895424836602,"件":0.013071895424836602,"路":0.013071895424836602,"径":0.013071895424836602,"ecdh_secret_key_path":0.006535947712418301,"ecdh":0.006535947712418301,"oprf":0.006535947712418301,"钥":0.006535947712418301,"位":0.006535947712418301,"节":0.006535947712418301,"二":0.006535947712418301,"进":0.006535947712418301,"制":0.006535947712418301,"dppsi_params":0.006535947712418301,"dppsiparams":0.00784313725490196,"dp":0.006535947712418301,"psitype":0.00392156862745098,"inputparams":0.00392156862745098,"outputparams":0.00392156862745098},"85":{"dp":0.02608695652173913,"psi":0.008695652173913044,"的":0.05217391304347826,"输":0.008695652173913044,"入":0.008695652173913044,"参":0.008695652173913044,"数":0.008695652173913044,"字":0.043478260869565216,"段":0.043478260869565216,"类":0.043478260869565216,"型":0.043478260869565216,"描":0.043478260869565216,"述":0.043478260869565216,"bob_sub_sampling":0.043478260869565216,"doublebob":0.02608695652173913,"子":0.043478260869565216,"采":0.043478260869565216,"样":0.043478260869565216,"使":0.043478260869565216,"用":0.043478260869565216,"bernoulli_distribution":0.043478260869565216,"概":0.043478260869565216,"率":0.043478260869565216,"epsilon":0.08695652173913043,"doubledp":0.02608695652173913,"double":0.06956521739130435,"bob":0.017391304347826087},"86":{"psi":0.004424778761061947,"的":0.02654867256637168,"输":0.048672566371681415,"入":0.048672566371681415,"参":0.004424778761061947,"数":0.02654867256637168,"字":0.06637168141592921,"段":0.06637168141592921,"类":0.022123893805309734,"型":0.022123893805309734,"描":0.022123893805309734,"述":0.022123893805309734,"path":0.022123893805309734,"string":0.061946902654867256,"csv":0.022123893805309734,"文":0.022123893805309734,"件":0.022123893805309734,"路":0.022123893805309734,"径":0.022123893805309734,"select_fieldsrepeated":0.01327433628318584,"据":0.022123893805309734,"中":0.022123893805309734,"需":0.022123893805309734,"选":0.04424778761061947,"择":0.04424778761061947,"precheck":0.022123893805309734,"bool":0.030973451327433628,"是":0.04424778761061947,"否":0.04424778761061947,"检":0.022123893805309734,"查":0.022123893805309734,"重":0.022123893805309734,"复":0.022123893805309734,"select_fields":0.008849557522123894,"repeated":0.017699115044247787},"87":{"psi":0.05721393034825871,"在":0.014925373134328358,"内":0.0024875621890547263,"存":0.0024875621890547263,"中":0.014925373134328358,"的":0.02736318407960199,"配":0.0024875621890547263,"置":0.0024875621890547263,"字":0.012437810945273632,"段":0.012437810945273632,"类":0.024875621890547265,"型":0.024875621890547265,"描":0.012437810945273632,"述":0.012437810945273632,"psi_type":0.012437810945273632,"psitypepsi":0.007462686567164179,"receiver_rank":0.012437810945273632,"uint32":0.017412935323383085,"指":0.024875621890547265,"定":0.024875621890547265,"接":0.024875621890547265,"收":0.024875621890547265,"方":0.024875621890547265,"编":0.012437810945273632,"号":0.012437810945273632,"该":0.012437810945273632,"将":0.024875621890547265,"获":0.012437810945273632,"取":0.012437810945273632,"结":0.024875621890547265,"果":0.024875621890547265,"broadcast_result":0.012437810945273632,"bool":0.017412935323383085,"是":0.012437810945273632,"否":0.012437810945273632,"广":0.012437810945273632,"播":0.012437810945273632,"给":0.012437810945273632,"所":0.012437810945273632,"有":0.012437810945273632,"参":0.024875621890547265,"与":0.012437810945273632,"者":0.012437810945273632,"curve_type":0.012437810945273632,"curvetype":0.014925373134328358,"可":0.024875621890547265,"选":0.024875621890547265,"需":0.012437810945273632,"要":0.012437810945273632,"时":0.012437810945273632,"使":0.012437810945273632,"用":0.012437810945273632,"椭":0.012437810945273632,"圆":0.012437810945273632,"曲":0.012437810945273632,"线":0.012437810945273632,"密":0.012437810945273632,"码":0.012437810945273632,"算":0.012437810945273632,"法":0.012437810945273632,"dppsi_params":0.012437810945273632,"dppsiparams":0.014925373134328358,"dp":0.012437810945273632,"数":0.012437810945273632,"psitype":0.007462686567164179},"88":{"psi":0.005555555555555556,"的":0.03333333333333333,"输":0.06111111111111111,"出":0.06111111111111111,"参":0.005555555555555556,"数":0.005555555555555556,"字":0.05555555555555555,"段":0.05555555555555555,"类":0.027777777777777776,"型":0.027777777777777776,"描":0.027777777777777776,"述":0.027777777777777776,"path":0.027777777777777776,"string":0.03888888888888889,"csv":0.027777777777777776,"文":0.05555555555555555,"件":0.05555555555555555,"路":0.027777777777777776,"径":0.027777777777777776,"need_sort":0.027777777777777776,"bool":0.03888888888888889,"是":0.027777777777777776,"否":0.027777777777777776,"按":0.027777777777777776,"选":0.027777777777777776,"择":0.027777777777777776,"对":0.027777777777777776,"进":0.027777777777777776,"行":0.027777777777777776,"排":0.027777777777777776,"序":0.027777777777777776},"89":{"1":0.029850746268656716,"psi":0.004975124378109453,"结":0.029850746268656716,"果":0.029850746268656716,"报":0.004975124378109453,"告":0.004975124378109453,"字":0.024875621890547265,"段":0.024875621890547265,"类":0.024875621890547265,"型":0.024875621890547265,"描":0.024875621890547265,"述":0.024875621890547265,"original_count":0.024875621890547265,"int64":0.10945273631840796,"输":0.024875621890547265,"入":0.024875621890547265,"数":0.04975124378109453,"据":0.04975124378109453,"量":0.04975124378109453,"intersection_count":0.024875621890547265,"交":0.024875621890547265,"集":0.024875621890547265,"当":0.024875621890547265,"本":0.024875621890547265,"方":0.024875621890547265,"无":0.024875621890547265,"法":0.024875621890547265,"获":0.024875621890547265,"取":0.024875621890547265,"时":0.024875621890547265,"返":0.024875621890547265,"回":0.024875621890547265,"original_key_count":0.024875621890547265,"int64noneintersection_key_count":0.009950248756218905,"int64none":0.01990049751243781,"none":0.01990049751243781,"intersection_key_count":0.014925373134328358},"90":{},"91":{"0":0.0032626427406199023,"1":0.011419249592169658,"2":0.0032626427406199023,"3":0.011419249592169658,"4":0.0032626427406199023,"5":0.0032626427406199023,"2016":0.008156606851549755,"14888":0.008156606851549755,"32918":0.008156606851549755,"psi":0.0016313213703099511,"中":0.01794453507340946,"使":0.0016313213703099511,"用":0.0016313213703099511,"的":0.04241435562805873,"指":0.0016313213703099511,"定":0.009787928221859706,"椭":0.01794453507340946,"圆":0.01794453507340946,"曲":0.026101141924959218,"线":0.026101141924959218,"密":0.01794453507340946,"码":0.01794453507340946,"算":0.0016313213703099511,"法":0.0016313213703099511,"名":0.008156606851549755,"称":0.008156606851549755,"编":0.008156606851549755,"号":0.008156606851549755,"描":0.008156606851549755,"述":0.008156606851549755,"curve_invalid_type0nonecurve_255191daniel":0.0032626427406199023,"j":0.008156606851549755,"bernstein":0.008156606851549755,"curve25519":0.01631321370309951,"新":0.008156606851549755,"diffie":0.008156606851549755,"hellman":0.008156606851549755,"速":0.008156606851549755,"度":0.008156606851549755,"记":0.008156606851549755,"录":0.01631321370309951,"curve_fourq2fourq":0.004893964110929853,"在":0.008156606851549755,"mersenne":0.008156606851549755,"素":0.008156606851549755,"数":0.01631321370309951,"上":0.008156606851549755,"q":0.008156606851549755,"进":0.008156606851549755,"行":0.008156606851549755,"四":0.008156606851549755,"维":0.008156606851549755,"分":0.008156606851549755,"解":0.008156606851549755,"curve_sm23sm2":0.004893964110929853,"是":0.008156606851549755,"一":0.008156606851549755,"种":0.008156606851549755,"基":0.008156606851549755,"于":0.024469820554649267,"系":0.008156606851549755,"统":0.008156606851549755,"ecc":0.008156606851549755,"已":0.008156606851549755,"作":0.008156606851549755,"为":0.008156606851549755,"国":0.024469820554649267,"家":0.008156606851549755,"标":0.024469820554649267,"准":0.024469820554649267,"gbt":0.008156606851549755,"发":0.008156606851549755,"布":0.008156606851549755,"并":0.008156606851549755,"被":0.008156606851549755,"收":0.008156606851549755,"际":0.008156606851549755,"iso":0.008156606851549755,"iec":0.008156606851549755,"curve_secp256k14":0.004893964110929853,"该":0.008156606851549755,"参":0.008156606851549755,"义":0.008156606851549755,"高":0.008156606851549755,"效":0.008156606851549755,"学":0.008156606851549755,"sec":0.008156606851549755,"http":0.009787928221859706,"www":0.009787928221859706,"secg":0.009787928221859706,"org":0.009787928221859706,"sec2":0.009787928221859706,"v2":0.009787928221859706,"pdfcurve_25519_elligator25":0.0032626427406199023,"带":0.008156606851549755,"有":0.008156606851549755,"rfc9380":0.008156606851549755,"elligator2":0.008156606851549755,"hash_to_curve":0.008156606851549755,"curve_invalid_type0none":0.0016313213703099511,"curve_invalid_type":0.0032626427406199023,"none":0.0032626427406199023,"curve_255191daniel":0.0016313213703099511,"curve_25519":0.0032626427406199023,"daniel":0.0032626427406199023,"curve_fourq":0.0032626427406199023,"fourq":0.0032626427406199023,"curve_sm2":0.0032626427406199023,"sm2":0.0032626427406199023,"pdf":0.0065252854812398045,"curve_secp256k1":0.0032626427406199023,"curve_25519_elligator25":0.0016313213703099511,"curve_25519_elligator2":0.0032626427406199023},"92":{"0":0.00110803324099723,"1":0.00110803324099723,"2":0.00110803324099723,"4":0.00110803324099723,"5":0.00110803324099723,"6":0.00110803324099723,"7":0.00110803324099723,"8":0.00110803324099723,"9":0.00110803324099723,"10":0.00110803324099723,"11":0.00110803324099723,"12":0.00110803324099723,"13":0.00110803324099723,"14":0.00110803324099723,"15":0.00110803324099723,"320":0.0033240997229916896,"799":0.0033240997229916896,"2016":0.0033240997229916896,"2022":0.0033240997229916896,"2208":0.0033240997229916896,"13249":0.0033240997229916896,"psi":0.04376731301939058,"的":0.0371191135734072,"算":0.000554016620498615,"法":0.000554016620498615,"类":0.000554016620498615,"型":0.000554016620498615,"名":0.002770083102493075,"称":0.002770083102493075,"编":0.002770083102493075,"号":0.002770083102493075,"描":0.002770083102493075,"述":0.002770083102493075,"invalid_psi_type0noneecdh_psi_2pc1":0.00110803324099723,"注":0.034903047091412745,"意":0.037673130193905814,"不":0.029362880886426593,"再":0.026592797783933517,"支":0.029916897506925208,"持":0.029916897506925208,"基":0.027700831024930747,"于":0.024930747922437674,"ddh":0.002770083102493075,"psikkrt_psi_2pc2":0.00110803324099723,"高":0.002770083102493075,"效":0.002770083102493075,"批":0.002770083102493075,"处":0.00554016620498615,"理":0.00554016620498615,"经":0.002770083102493075,"伪":0.002770083102493075,"随":0.002770083102493075,"机":0.002770083102493075,"函":0.002770083102493075,"数":0.00554016620498615,"及":0.002770083102493075,"其":0.002770083102493075,"在":0.008310249307479225,"隐":0.00886426592797784,"私":0.00886426592797784,"集":0.01662049861495845,"合":0.00554016620498615,"求":0.002770083102493075,"交":0.013850415512465374,"中":0.002770083102493075,"应":0.002770083102493075,"用":0.002770083102493075,"https":0.009972299168975069,"eprint":0.006648199445983379,"iacr":0.006648199445983379,"org":0.009972299168975069,"pdfecdh_psi_3pc4":0.00110803324099723,"ecdh":0.0221606648199446,"多":0.008310249307479225,"方":0.04155124653739612,"例":0.002770083102493075,"如":0.002770083102493075,"a":0.002770083102493075,"b":0.002770083102493075,"c":0.002770083102493075,"接":0.002770083102493075,"收":0.002770083102493075,"会":0.008310249307479225,"泄":0.008310249307479225,"露":0.008310249307479225,"两":0.024930747922437674,"ecdh_psi_npc5":0.0016620498614958448,"迭":0.00554016620498615,"代":0.00554016620498615,"运":0.00554016620498615,"行":0.00554016620498615,"双":0.00554016620498615,"以":0.00554016620498615,"获":0.008310249307479225,"得":0.008310249307479225,"kkrt_psi_npc6":0.0016620498614958448,"kkrt":0.002770083102493075,"ecdh_oprf_ub_psi_2pc_gen_cache7":0.0016620498614958448,"oprf":0.013850415512465374,"非":0.013850415512465374,"均":0.013850415512465374,"衡":0.013850415512465374,"生":0.002770083102493075,"成":0.002770083102493075,"缓":0.00554016620498615,"存":0.00554016620498615,"阶":0.013850415512465374,"段":0.013850415512465374,"ecdh_oprf_ub_psi_2pc_transfer_cache8":0.0016620498614958448,"传":0.002770083102493075,"输":0.002770083102493075,"ecdh_oprf_ub_psi_2pc_offline9":0.0016620498614958448,"离":0.002770083102493075,"线":0.008310249307479225,"ecdh_oprf_ub_psi_2pc_online10":0.0016620498614958448,"ecdh_oprf_ub_psi_2pc_shuffle_online11":0.0016620498614958448,"含":0.002770083102493075,"打":0.002770083102493075,"乱":0.002770083102493075,"大":0.002770083102493075,"结":0.00554016620498615,"果":0.00554016620498615,"dp_psi_2pc12":0.0016620498614958448,"差":0.006094182825484765,"分":0.006094182825484765,"dp":0.002770083102493075,"详":0.00554016620498615,"情":0.00554016620498615,"见":0.00554016620498615,"arxiv":0.0033240997229916896,"pdf":0.0110803324099723,"保":0.0033240997229916896,"护":0.0033240997229916896,"rr22_fast_psi_2pc13":0.0016620498614958448,"blazing":0.002770083102493075,"fast":0.002770083102493075,"种":0.002770083102493075,"模":0.008310249307479225,"式":0.008310249307479225,"快":0.002770083102493075,"速":0.002770083102493075,"和":0.002770083102493075,"低":0.002770083102493075,"通":0.002770083102493075,"信":0.002770083102493075,"pdfrr22_lowcomm_psi_2pc14nonerr22_malicious_psi_2pc15none":0.00110803324099723,"invalid_psi_type0none":0.000554016620498615,"invalid_psi_type":0.00110803324099723,"none":0.0033240997229916896,"ecdh_psi_2pc1":0.000554016620498615,"ecdh_psi_2pc":0.00110803324099723,"kkrt_psi_2pc2":0.000554016620498615,"kkrt_psi_2pc":0.00110803324099723,"ecdh_psi_3pc4":0.000554016620498615,"ecdh_psi_3pc":0.00110803324099723,"ecdh_psi_npc":0.00110803324099723,"kkrt_psi_npc":0.00110803324099723,"ecdh_oprf_ub_psi_2pc_gen_cache":0.00110803324099723,"ecdh_oprf_ub_psi_2pc_transfer_cache":0.00110803324099723,"ecdh_oprf_ub_psi_2pc_offline":0.00110803324099723,"ecdh_oprf_ub_psi_2pc_online":0.00110803324099723,"ecdh_oprf_ub_psi_2pc_shuffle_online":0.00110803324099723,"dp_psi_2pc":0.00110803324099723,"rr22_fast_psi_2pc":0.00110803324099723,"rr22_lowcomm_psi_2pc14none":0.000554016620498615,"rr22_lowcomm_psi_2pc":0.00110803324099723,"rr22_malicious_psi_2pc15none":0.000554016620498615,"rr22_malicious_psi_2pc":0.00110803324099723},"93":{"2":0.006546644844517185,"7":0.0032733224222585926,"8":0.0032733224222585926,"28":0.0032733224222585926,"56":0.0032733224222585926,"proto":0.008183306055646482,"类":0.03273322422258593,"型":0.03273322422258593,"备":0.008183306055646482,"注":0.008183306055646482,"c":0.008183306055646482,"java":0.008183306055646482,"python":0.008183306055646482,"doubledoubledoublefloat":0.004909983633387889,"floatfloatfloatfloat":0.0032733224222585926,"int32":0.0032733224222585926,"使":0.02618657937806874,"用":0.02618657937806874,"可":0.03600654664484452,"变":0.019639934533551555,"长":0.019639934533551555,"度":0.019639934533551555,"编":0.0425531914893617,"码":0.0425531914893617,"对":0.006546644844517185,"于":0.01309328968903437,"负":0.019639934533551555,"值":0.02618657937806874,"时":0.006546644844517185,"效":0.02618657937806874,"率":0.01309328968903437,"低":0.006546644844517185,"下":0.006546644844517185,"如":0.01309328968903437,"果":0.01309328968903437,"字":0.02618657937806874,"段":0.006546644844517185,"能":0.009819967266775777,"具":0.006546644844517185,"有":0.019639934533551555,"请":0.006546644844517185,"sint32":0.006546644844517185,"代":0.006546644844517185,"替":0.006546644844517185,"int32intint":0.009819967266775777,"int64":0.0032733224222585926,"sint64":0.006546644844517185,"int64longint":0.009819967266775777,"long":0.019639934533551555,"uint32":0.006546644844517185,"uint32intint":0.006546644844517185,"uint64":0.006546644844517185,"uint64longint":0.006546644844517185,"符":0.009819967266775777,"号":0.006546644844517185,"整":0.006546644844517185,"数":0.01309328968903437,"这":0.006546644844517185,"些":0.006546644844517185,"更":0.019639934533551555,"高":0.01309328968903437,"以":0.006546644844517185,"地":0.006546644844517185,"fixed32":0.0032733224222585926,"总":0.01309328968903437,"是":0.01309328968903437,"四":0.006546644844517185,"个":0.01309328968903437,"节":0.016366612111292964,"经":0.006546644844517185,"常":0.006546644844517185,"大":0.006546644844517185,"则":0.006546644844517185,"比":0.006546644844517185,"fixed64":0.0032733224222585926,"八":0.006546644844517185,"sfixed32":0.0032733224222585926,"sfixed64":0.0032733224222585926,"boolboolbooleanboolean":0.0032733224222585926,"string":0.0032733224222585926,"串":0.0032733224222585926,"必":0.0032733224222585926,"须":0.0032733224222585926,"始":0.0032733224222585926,"终":0.0032733224222585926,"包":0.006546644844517185,"含":0.006546644844517185,"utf":0.0032733224222585926,"或":0.0032733224222585926,"位":0.0032733224222585926,"ascii":0.0032733224222585926,"文":0.0032733224222585926,"本":0.0032733224222585926,"stringstringstr":0.0032733224222585926,"unicode":0.0032733224222585926,"bytes":0.0032733224222585926,"任":0.006546644844517185,"何":0.0032733224222585926,"意":0.0032733224222585926,"序":0.0032733224222585926,"列":0.0032733224222585926,"stringbytestringstr":0.0032733224222585926,"double":0.0032733224222585926},"94":{"请":0.07407407407407407,"在":0.07407407407407407,"psi":0.18518518518518517,"v1":0.037037037037037035,"配":0.07407407407407407,"置":0.07407407407407407,"中":0.07407407407407407,"查":0.07407407407407407,"看":0.07407407407407407,"bucketpsiconfig":0.037037037037037035,"v2":0.1111111111111111,"psiconfig":0.037037037037037035,"和":0.037037037037037035,"ubpsiconfig":0.037037037037037035},"95":{"messages":0.075,"launchconfig":0.0625,"allocatedports":0.0625,"clusterdefine":0.0625,"party":0.0625,"port":0.0625,"service":0.0625,"taskinputconfig":0.125,"sfpsiconfigmapentry":0.0625,"contextdescproto":0.0625,"partyproto":0.0625,"retryoptionsproto":0.0625,"ssloptionsproto":0.0625,"scalar":0.0375,"value":0.0375,"types":0.0375},"96":{},"97":{"fieldtypedescriptionlink_config":0.0026666666666666666,"yacl":0.018666666666666668,"link":0.018666666666666668,"contextdescproto":0.018666666666666668,"网":0.013333333333333334,"络":0.013333333333333334,"配":0.02666666666666667,"置":0.02666666666666667,"self_link_party":0.013333333333333334,"string":0.018666666666666668,"使":0.013333333333333334,"用":0.013333333333333334,"链":0.013333333333333334,"路":0.013333333333333334,"oneof":0.09333333333333334,"runtime_config":0.06666666666666667,"legacy_psi_config":0.013333333333333334,"bucketpsiconfig":0.018666666666666668,"请":0.05333333333333334,"检":0.05333333333333334,"查":0.05333333333333334,"psi":0.02666666666666667,"proto":0.05333333333333334,"文":0.05333333333333334,"件":0.05333333333333334,"psi_config":0.013333333333333334,"v2":0.037333333333333336,"psiconfig":0.018666666666666668,"psi_v2":0.02666666666666667,"ub_psi_config":0.013333333333333334,"ubpsiconfig":0.018666666666666668,"apsi_sender_config":0.013333333333333334,"apsisenderconfig":0.018666666666666668,"apsi_receiver_config":0.013333333333333334,"apsireceiverconfig":0.018666666666666668,"无":0.013333333333333334,"fieldtypedescription":0.005333333333333333,"field":0.005333333333333333,"type":0.005333333333333333,"description":0.005333333333333333,"link_config":0.010666666666666666},"98":{},"99":{},"100":{"allocatedports":0.016129032258064516,"表":0.016129032258064516,"示":0.016129032258064516,"pod":0.016129032258064516,"的":0.0967741935483871,"已":0.0967741935483871,"分":0.0967741935483871,"配":0.0967741935483871,"端":0.0967741935483871,"口":0.0967741935483871,"fieldtypedescriptionportsrepeated":0.016129032258064516,"port":0.0967741935483871,"fieldtypedescription":0.03225806451612903,"field":0.03225806451612903,"type":0.03225806451612903,"description":0.03225806451612903,"portsrepeated":0.03225806451612903,"ports":0.03225806451612903,"repeated":0.04838709677419355},"101":{"clusterdefine":0.005494505494505495,"代":0.005494505494505495,"表":0.005494505494505495,"所":0.03296703296703297,"有":0.03296703296703297,"参":0.06043956043956044,"与":0.06043956043956044,"方":0.06043956043956044,"的":0.08791208791208792,"信":0.03296703296703297,"息":0.03296703296703297,"fieldtypedescriptionpartiesrepeated":0.005494505494505495,"party":0.03296703296703297,"基":0.027472527472527472,"本":0.027472527472527472,"self_party_idx":0.027472527472527472,"int32":0.07692307692307693,"自":0.054945054945054944,"身":0.054945054945054944,"索":0.054945054945054944,"引":0.054945054945054944,"self_endpoint_idx":0.027472527472527472,"端":0.027472527472527472,"点":0.027472527472527472,"fieldtypedescription":0.01098901098901099,"field":0.01098901098901099,"type":0.01098901098901099,"description":0.01098901098901099,"partiesrepeated":0.01098901098901099,"parties":0.01098901098901099,"repeated":0.016483516483516484},"102":{"party":0.004901960784313725,"表":0.029411764705882353,"示":0.004901960784313725,"参":0.029411764705882353,"与":0.05392156862745098,"方":0.05392156862745098,"的":0.05392156862745098,"基":0.004901960784313725,"本":0.004901960784313725,"信":0.004901960784313725,"息":0.004901960784313725,"fieldtypedescriptionname":0.004901960784313725,"string":0.06862745098039216,"名":0.024509803921568627,"称":0.024509803921568627,"role":0.024509803921568627,"承":0.024509803921568627,"担":0.024509803921568627,"角":0.024509803921568627,"色":0.024509803921568627,"例":0.024509803921568627,"如":0.024509803921568627,"客":0.024509803921568627,"户":0.024509803921568627,"端":0.049019607843137254,"服":0.049019607843137254,"务":0.049019607843137254,"servicesrepeated":0.014705882352941176,"servicepod":0.014705882352941176,"对":0.024509803921568627,"外":0.024509803921568627,"提":0.024509803921568627,"供":0.024509803921568627,"列":0.024509803921568627,"fieldtypedescription":0.00980392156862745,"field":0.00980392156862745,"type":0.00980392156862745,"description":0.00980392156862745,"name":0.0196078431372549,"services":0.00980392156862745,"repeated":0.014705882352941176,"service":0.014705882352941176,"pod":0.00980392156862745},"103":{"port":0.01749271137026239,"表":0.0029154518950437317,"示":0.0029154518950437317,"pod":0.014577259475218658,"的":0.061224489795918366,"已":0.0029154518950437317,"分":0.01749271137026239,"配":0.01749271137026239,"端":0.061224489795918366,"口":0.061224489795918366,"fieldtypedescriptionname":0.0029154518950437317,"stringpod":0.008746355685131196,"内":0.014577259475218658,"每":0.014577259475218658,"个":0.014577259475218658,"命":0.014577259475218658,"名":0.029154518950437316,"称":0.014577259475218658,"必":0.043731778425655975,"须":0.043731778425655975,"唯":0.014577259475218658,"一":0.014577259475218658,"int32pod":0.008746355685131196,"数":0.014577259475218658,"scope":0.014577259475218658,"string":0.052478134110787174,"作":0.014577259475218658,"用":0.014577259475218658,"范":0.014577259475218658,"围":0.014577259475218658,"为":0.05830903790087463,"cluster":0.014577259475218658,"domain":0.014577259475218658,"或":0.029154518950437316,"local":0.029154518950437316,"默":0.029154518950437316,"认":0.029154518950437316,"optionalprotocol":0.0058309037900874635,"协":0.014577259475218658,"议":0.014577259475218658,"http":0.029154518950437316,"grpc":0.014577259475218658,"optional":0.023323615160349854,"fieldtypedescription":0.0058309037900874635,"field":0.0058309037900874635,"type":0.0058309037900874635,"description":0.0058309037900874635,"name":0.011661807580174927,"int32":0.011661807580174927,"protocol":0.008746355685131196},"104":{"service":0.008403361344537815,"表":0.05042016806722689,"示":0.008403361344537815,"与":0.05042016806722689,"端":0.13445378151260504,"口":0.09243697478991597,"对":0.05042016806722689,"应":0.05042016806722689,"的":0.05042016806722689,"服":0.008403361344537815,"务":0.008403361344537815,"地":0.008403361344537815,"址":0.008403361344537815,"fieldtypedescriptionport_name":0.008403361344537815,"string":0.11764705882352941,"名":0.04201680672268908,"称":0.04201680672268908,"endpointsrepeated":0.025210084033613446,"点":0.04201680672268908,"列":0.04201680672268908,"fieldtypedescription":0.01680672268907563,"field":0.01680672268907563,"type":0.01680672268907563,"description":0.01680672268907563,"port_name":0.03361344537815126,"endpoints":0.01680672268907563,"repeated":0.03361344537815126},"105":{"fieldtypedescriptionsf_psi_config_mapmap":0.030303030303030304,"taskinputconfig":0.18181818181818182,"sfpsiconfigmapentry":0.18181818181818182,"无":0.15151515151515152,"fieldtypedescription":0.06060606060606061,"field":0.06060606060606061,"type":0.06060606060606061,"description":0.06060606060606061,"sf_psi_config_mapmap":0.06060606060606061,"sf_psi_config_map":0.06060606060606061,"map":0.09090909090909091},"106":{"fieldtypedescriptionkey":0.02040816326530612,"string":0.14285714285714285,"无":0.20408163265306123,"value":0.10204081632653061,"psi":0.14285714285714285,"launchconfig":0.14285714285714285,"fieldtypedescription":0.04081632653061224,"field":0.04081632653061224,"type":0.04081632653061224,"description":0.04081632653061224,"key":0.08163265306122448},"107":{},"108":{},"109":{"32":0.002663115845539281,"链":0.002663115845539281,"路":0.0013315579227696406,"配":0.006657789613848202,"置":0.007989347536617843,"的":0.0426098535286285,"设":0.0013315579227696406,"fieldtypedescriptionid":0.0013315579227696406,"string":0.014647137150466045,"此":0.010652463382157125,"次":0.006657789613848202,"通":0.014647137150466045,"信":0.006657789613848202,"uuidpartiesrepeated":0.002663115845539281,"partyproto":0.007989347536617843,"参":0.006657789613848202,"与":0.006657789613848202,"方":0.010652463382157125,"描":0.013315579227696404,"述":0.014647137150466045,"世":0.006657789613848202,"界":0.006657789613848202,"connect_retry_times":0.006657789613848202,"uint32":0.02929427430093209,"连":0.014647137150466045,"接":0.02929427430093209,"到":0.014647137150466045,"网":0.013315579227696404,"格":0.013315579227696404,"重":0.015978695073235686,"试":0.014647137150466045,"时":0.03994673768308921,"间":0.03195739014647137,"connect_retry_interval_ms":0.006657789613848202,"隔":0.006657789613848202,"recv_timeout_ms":0.009320905459387484,"uint64":0.009320905459387484,"收":0.013315579227696404,"超":0.013315579227696404,"单":0.010652463382157125,"位":0.010652463382157125,"为":0.010652463382157125,"毫":0.007989347536617843,"秒":0.007989347536617843,"fieldtypedescription":0.002663115845539281,"field":0.0039946737683089215,"type":0.002663115845539281,"description":0.002663115845539281,"id":0.005326231691078562,"uuid":0.0039946737683089215,"partiesrepeated":0.0013315579227696406,"parties":0.002663115845539281,"repeated":0.0039946737683089215,"是":0.002663115845539281,"一":0.005326231691078562,"等":0.006657789613848202,"待":0.006657789613848202,"某":0.002663115845539281,"特":0.002663115845539281,"定":0.002663115845539281,"事":0.0039946737683089215,"件":0.002663115845539281,"最":0.005326231691078562,"长":0.0039946737683089215,"例":0.002663115845539281,"如":0.007989347536617843,"开":0.005326231691078562,"始":0.005326231691078562,"结":0.002663115845539281,"束":0.002663115845539281,"alice":0.002663115845539281,"线":0.002663115845539281,"发":0.009320905459387484,"送":0.009320905459387484,"忙":0.002663115845539281,"碌":0.0013315579227696406,"工":0.0013315579227696406,"作":0.002663115845539281,"bob":0.002663115845539281,"在":0.007989347536617843,"上":0.0013315579227696406,"子":0.0013315579227696406,"中":0.0013315579227696406,"当":0.002663115845539281,"爱":0.0013315579227696406,"丽":0.0013315579227696406,"丝":0.0013315579227696406,"个":0.006657789613848202,"进":0.002663115845539281,"行":0.005326231691078562,"操":0.0013315579227696406,"仍":0.0013315579227696406,"着":0.0013315579227696406,"做":0.0013315579227696406,"自":0.0013315579227696406,"己":0.0013315579227696406,"情":0.002663115845539281,"过":0.0039946737683089215,"了":0.0039946737683089215,"以":0.002663115845539281,"它":0.002663115845539281,"就":0.0013315579227696406,"会":0.0013315579227696406,"抛":0.002663115845539281,"出":0.002663115845539281,"异":0.002663115845539281,"常":0.002663115845539281,"尽":0.0013315579227696406,"管":0.0013315579227696406,"鲍":0.0013315579227696406,"勃":0.0013315579227696406,"刚":0.0013315579227696406,"数":0.006657789613848202,"据":0.002663115845539281,"所":0.0013315579227696406,"对":0.0013315579227696406,"于":0.0013315579227696406,"耗":0.0013315579227696406,"较":0.0013315579227696406,"任":0.0013315579227696406,"务":0.002663115845539281,"这":0.005326231691078562,"种":0.0013315579227696406,"况":0.0013315579227696406,"下":0.0013315579227696406,"可":0.0013315579227696406,"能":0.0013315579227696406,"需":0.002663115845539281,"要":0.002663115845539281,"另":0.0013315579227696406,"很":0.0013315579227696406,"值":0.0013315579227696406,"应":0.002663115845539281,"该":0.0013315579227696406,"相":0.0013315579227696406,"地":0.0013315579227696406,"调":0.0013315579227696406,"整":0.0039946737683089215,"http":0.005326231691078562,"大":0.013315579227696404,"负":0.002663115845539281,"载":0.002663115845539281,"小":0.010652463382157125,"无":0.002663115845539281,"符":0.002663115845539281,"号":0.002663115845539281,"果":0.006657789613848202,"请":0.002663115845539281,"求":0.002663115845539281,"限":0.0039946737683089215,"制":0.002663115845539281,"将":0.005326231691078562,"被":0.005326231691078562,"拆":0.0013315579227696406,"分":0.0039946737683089215,"成":0.0013315579227696406,"块":0.0039946737683089215,"然":0.0013315579227696406,"后":0.002663115845539281,"再":0.0013315579227696406,"新":0.0013315579227696406,"组":0.0013315579227696406,"合":0.0013315579227696406,"起":0.0013315579227696406,"来":0.0013315579227696406,"this":0.0013315579227696406,"does":0.0013315579227696406,"affect":0.0013315579227696406,"performance":0.0013315579227696406,"please":0.0013315579227696406,"choose":0.0013315579227696406,"wisely":0.0013315579227696406,"http_timeout_ms":0.0013315579227696406,"throttle_window_size":0.0013315579227696406,"道":0.007989347536617843,"流":0.0013315579227696406,"窗":0.0013315579227696406,"口":0.0013315579227696406,"正":0.0013315579227696406,"传":0.0013315579227696406,"输":0.0013315579227696406,"消":0.0039946737683089215,"息":0.0039946737683089215,"量":0.0013315579227696406,"sendasync":0.002663115845539281,"阻":0.0013315579227696406,"塞":0.0013315579227696406,"直":0.0013315579227696406,"处":0.0013315579227696406,"理":0.0013315579227696406,"或":0.0013315579227696406,"者":0.0013315579227696406,"brpc_channel_protocol":0.0013315579227696406,"brpc":0.002663115845539281,"客":0.002663115845539281,"户":0.002663115845539281,"端":0.002663115845539281,"协":0.0013315579227696406,"议":0.0013315579227696406,"brpc_channel_connection_type":0.0013315579227696406,"类":0.0013315579227696406,"型":0.0013315579227696406,"enable_ssl":0.0039946737683089215,"bool":0.002663115845539281,"ssl":0.0039946737683089215,"选":0.002663115845539281,"项":0.002663115845539281,"client_ssl_opts":0.0013315579227696406,"ssloptionsproto":0.005326231691078562,"false":0.002663115845539281,"则":0.002663115845539281,"忽":0.002663115845539281,"略":0.002663115845539281,"server_ssl_opts":0.0013315579227696406,"服":0.0013315579227696406,"chunk_parallel_send_size":0.002663115845539281,"并":0.002663115845539281,"retry_opts":0.0013315579227696406,"retryoptionsproto":0.002663115845539281},"110":{"fieldtypedescriptionid":0.023809523809523808,"string":0.3333333333333333,"无":0.23809523809523808,"host":0.11904761904761904,"fieldtypedescription":0.047619047619047616,"field":0.047619047619047616,"type":0.047619047619047616,"description":0.047619047619047616,"id":0.09523809523809523},"111":{"1":0.0067842605156037995,"2":0.0067842605156037995,"3":0.004070556309362279,"10":0.0067842605156037995,"重":0.07598371777476255,"试":0.07598371777476255,"选":0.0013568521031207597,"项":0.0013568521031207597,"fieldtypedescriptionmax_retry":0.0013568521031207597,"uint32":0.05698778833107191,"最":0.013568521031207599,"大":0.013568521031207599,"次":0.013568521031207599,"数":0.0067842605156037995,"默":0.027137042062415198,"认":0.027137042062415198,"为":0.0407055630936228,"3retry_interval_ms":0.0027137042062415195,"首":0.0067842605156037995,"时":0.0203527815468114,"之":0.0067842605156037995,"间":0.0407055630936228,"的":0.0203527815468114,"隔":0.0203527815468114,"值":0.027137042062415198,"秒":0.0203527815468114,"retry_interval_incr_ms":0.0067842605156037995,"增":0.0067842605156037995,"加":0.0067842605156037995,"max_retry_interval_ms":0.0067842605156037995,"error_codesrepeated":0.004070556309362279,"针":0.013568521031207599,"对":0.027137042062415198,"这":0.013568521031207599,"些":0.013568521031207599,"brpc":0.0067842605156037995,"错":0.033921302578018994,"误":0.033921302578018994,"码":0.033921302578018994,"进":0.027137042062415198,"行":0.0203527815468114,"若":0.013568521031207599,"空":0.013568521031207599,"则":0.013568521031207599,"所":0.013568521031207599,"有":0.013568521031207599,"http_codesrepeated":0.004070556309362279,"http":0.013568521031207599,"aggressive_retry":0.0067842605156037995,"bool":0.009497964721845319,"启":0.0067842605156037995,"用":0.0067842605156037995,"激":0.0067842605156037995,"即":0.0067842605156037995,"会":0.0067842605156037995,"在":0.0067842605156037995,"额":0.0067842605156037995,"外":0.0067842605156037995,"上":0.0067842605156037995,"fieldtypedescription":0.0027137042062415195,"field":0.0027137042062415195,"type":0.0027137042062415195,"description":0.0027137042062415195,"max_retry":0.005427408412483039,"retry_interval_ms":0.004070556309362279,"error_codes":0.0027137042062415195,"repeated":0.010854816824966078,"http_codes":0.0027137042062415195},"112":{"0":0.011933174224343675,"ssl":0.002386634844868735,"选":0.002386634844868735,"项":0.002386634844868735,"fieldtypedescriptioncertificate_path":0.002386634844868735,"string":0.050119331742243436,"证":0.08353221957040573,"书":0.0477326968973747,"文":0.0477326968973747,"件":0.0477326968973747,"地":0.02386634844868735,"址":0.02386634844868735,"private_key_path":0.011933174224343675,"私":0.011933174224343675,"钥":0.011933174224343675,"verify_depth":0.011933174224343675,"int32":0.016706443914081145,"设":0.02386634844868735,"置":0.02386634844868735,"链":0.011933174224343675,"验":0.03579952267303103,"的":0.0477326968973747,"最":0.011933174224343675,"大":0.011933174224343675,"深":0.011933174224343675,"度":0.011933174224343675,"如":0.02386634844868735,"果":0.02386634844868735,"为":0.02386634844868735,"则":0.02386634844868735,"关":0.011933174224343675,"闭":0.011933174224343675,"ca_file_path":0.011933174224343675,"受":0.011933174224343675,"信":0.011933174224343675,"任":0.011933174224343675,"颁":0.011933174224343675,"发":0.011933174224343675,"机":0.011933174224343675,"构":0.011933174224343675,"ca":0.02386634844868735,"以":0.011933174224343675,"对":0.011933174224343675,"等":0.011933174224343675,"方":0.011933174224343675,"空":0.011933174224343675,"使":0.011933174224343675,"用":0.011933174224343675,"系":0.011933174224343675,"统":0.011933174224343675,"默":0.011933174224343675,"认":0.011933174224343675,"fieldtypedescription":0.00477326968973747,"field":0.00477326968973747,"type":0.00477326968973747,"description":0.00477326968973747,"certificate_path":0.00954653937947494},"113":{},"114":{"2":0.009852216748768473,"7":0.003284072249589491,"8":0.003284072249589491,"28":0.006568144499178982,"56":0.003284072249589491,"proto":0.008210180623973728,"类":0.03284072249589491,"型":0.03284072249589491,"notesc":0.0049261083743842365,"java":0.008210180623973728,"python":0.008210180623973728,"doubledoubledoublefloat":0.0049261083743842365,"floatfloatfloatfloat":0.003284072249589491,"int32":0.006568144499178982,"使":0.019704433497536946,"用":0.026272577996715927,"变":0.019704433497536946,"长":0.019704433497536946,"编":0.0361247947454844,"码":0.0361247947454844,"对":0.006568144499178982,"负":0.019704433497536946,"数":0.022988505747126436,"效":0.022988505747126436,"率":0.009852216748768473,"较":0.006568144499178982,"低":0.006568144499178982,"如":0.013136288998357963,"果":0.013136288998357963,"字":0.026272577996715927,"段":0.006568144499178982,"可":0.013136288998357963,"能":0.013136288998357963,"包":0.009852216748768473,"含":0.009852216748768473,"值":0.022988505747126436,"请":0.006568144499178982,"改":0.006568144499178982,"sint32":0.006568144499178982,"int32intint":0.009852216748768473,"int64":0.006568144499178982,"sint64":0.006568144499178982,"int64longint":0.009852216748768473,"long":0.019704433497536946,"uint32":0.009852216748768473,"度":0.006568144499178982,"uint32intint":0.006568144499178982,"uint64":0.006568144499178982,"uint64longint":0.006568144499178982,"有":0.006568144499178982,"符":0.009852216748768473,"号":0.006568144499178982,"整":0.006568144499178982,"相":0.006568144499178982,"比":0.016420361247947456,"常":0.016420361247947456,"规":0.006568144499178982,"的":0.009852216748768473,"它":0.006568144499178982,"更":0.016420361247947456,"高":0.016420361247947456,"地":0.006568144499178982,"fixed32":0.003284072249589491,"始":0.016420361247947456,"终":0.016420361247947456,"为":0.016420361247947456,"四":0.009852216748768473,"个":0.013136288998357963,"节":0.016420361247947456,"经":0.006568144499178982,"大":0.009852216748768473,"于":0.009852216748768473,"则":0.009852216748768473,"或":0.006568144499178982,"固":0.003284072249589491,"定":0.003284072249589491,"若":0.003284072249589491,"fixed64":0.003284072249589491,"八":0.006568144499178982,"sfixed32":0.003284072249589491,"sfixed64":0.003284072249589491,"boolboolbooleanboolean":0.003284072249589491,"string":0.003284072249589491,"串":0.003284072249589491,"必":0.003284072249589491,"须":0.003284072249589491,"utf":0.003284072249589491,"文":0.006568144499178982,"本":0.006568144499178982,"位":0.003284072249589491,"ascii":0.003284072249589491,"stringstringstr":0.003284072249589491,"unicode":0.003284072249589491,"bytesmay":0.003284072249589491,"contain":0.003284072249589491,"any":0.003284072249589491,"arbitrary":0.003284072249589491,"sequence":0.003284072249589491,"of":0.003284072249589491,"bytes":0.003284072249589491,"stringbytestringstr":0.003284072249589491,"notes":0.003284072249589491,"c":0.003284072249589491,"double":0.003284072249589491},"115":{"推":0.006172839506172839,"荐":0.006172839506172839,"使":0.006172839506172839,"用":0.006172839506172839,"psi":0.08024691358024691,"v2":0.05555555555555555,"配":0.006172839506172839,"置":0.006172839506172839,"pir":0.030864197530864196,"的":0.006172839506172839,"实":0.006172839506172839,"现":0.006172839506172839,"我":0.006172839506172839,"们":0.006172839506172839,"正":0.006172839506172839,"在":0.006172839506172839,"开":0.006172839506172839,"发":0.006172839506172839,"v1":0.024691358024691357,"快":0.07407407407407407,"速":0.07407407407407407,"入":0.07407407407407407,"门":0.07407407407407407,"已":0.024691358024691357,"废":0.024691358024691357,"弃":0.024691358024691357,"常":0.024691358024691357,"见":0.024691358024691357,"问":0.024691358024691357,"题":0.024691358024691357,"faq":0.024691358024691357,"基":0.04938271604938271,"准":0.04938271604938271,"测":0.04938271604938271,"试":0.04938271604938271,"apsi":0.024691358024691357},"116":{"本":0.07692307692307693,"文":0.07692307692307693,"档":0.07692307692307693,"介":0.07692307692307693,"绍":0.07692307692307693,"apsi":0.07692307692307693,"协":0.07692307692307693,"议":0.07692307692307693,"的":0.07692307692307693,"基":0.07692307692307693,"准":0.07692307692307693,"测":0.07692307692307693,"试":0.07692307692307693},"117":{"如":0.03773584905660377,"果":0.018867924528301886,"构":0.018867924528301886,"建":0.018867924528301886,"成":0.018867924528301886,"功":0.018867924528301886,"你":0.018867924528301886,"将":0.03773584905660377,"在":0.018867924528301886,"bazel":0.018867924528301886,"bin":0.018867924528301886,"psi":0.018867924528301886,"目":0.018867924528301886,"录":0.018867924528301886,"下":0.018867924528301886,"找":0.018867924528301886,"到":0.018867924528301886,"一":0.03773584905660377,"个":0.03773584905660377,"名":0.018867924528301886,"为":0.018867924528301886,"main":0.03773584905660377,"的":0.018867924528301886,"可":0.018867924528301886,"执":0.018867924528301886,"行":0.03773584905660377,"文":0.05660377358490566,"件":0.05660377358490566,"我":0.018867924528301886,"们":0.018867924528301886,"使":0.018867924528301886,"用":0.018867924528301886,"并":0.018867924528301886,"结":0.018867924528301886,"合":0.018867924528301886,"配":0.018867924528301886,"置":0.018867924528301886,"来":0.018867924528301886,"运":0.018867924528301886,"apsi":0.018867924528301886,"协":0.018867924528301886,"议":0.018867924528301886,"例":0.018867924528301886},"118":{"1":0.00847457627118644,"32":0.00847457627118644,"为":0.01694915254237288,"了":0.01694915254237288,"衡":0.00847457627118644,"量":0.00847457627118644,"apsi":0.025423728813559324,"协":0.00847457627118644,"议":0.00847457627118644,"在":0.01694915254237288,"不":0.00847457627118644,"同":0.00847457627118644,"数":0.059322033898305086,"据":0.03389830508474576,"规":0.01694915254237288,"模":0.025423728813559324,"下":0.01694915254237288,"的":0.0423728813559322,"性":0.01694915254237288,"能":0.01694915254237288,"我":0.03389830508474576,"们":0.03389830508474576,"需":0.025423728813559324,"要":0.025423728813559324,"生":0.00847457627118644,"成":0.00847457627118644,"拟":0.00847457627118644,"接":0.01694915254237288,"来":0.00847457627118644,"将":0.00847457627118644,"文":0.01694915254237288,"件":0.01694915254237288,"和":0.01694915254237288,"参":0.025423728813559324,"复":0.00847457627118644,"制":0.00847457627118644,"到":0.01694915254237288,"tmp":0.01694915254237288,"目":0.00847457627118644,"录":0.00847457627118644,"中":0.00847457627118644,"请":0.00847457627118644,"注":0.00847457627118644,"意":0.00847457627118644,"实":0.00847457627118644,"现":0.00847457627118644,"最":0.00847457627118644,"佳":0.00847457627118644,"针":0.00847457627118644,"对":0.00847457627118644,"相":0.00847457627118644,"应":0.00847457627118644,"标":0.00847457627118644,"签":0.00847457627118644,"长":0.00847457627118644,"度":0.00847457627118644,"找":0.00847457627118644,"一":0.01694915254237288,"组":0.01694915254237288,"合":0.00847457627118644,"适":0.00847457627118644,"这":0.00847457627118644,"里":0.00847457627118644,"直":0.00847457627118644,"使":0.00847457627118644,"用":0.00847457627118644,"提":0.00847457627118644,"供":0.00847457627118644,"默":0.00847457627118644,"认":0.00847457627118644,"例":0.00847457627118644,"如":0.00847457627118644,"1m":0.00847457627118644,"json":0.00847457627118644},"119":{"我":0.045454545454545456,"们":0.045454545454545456,"使":0.045454545454545456,"用":0.045454545454545456,"配":0.045454545454545456,"置":0.045454545454545456,"文":0.13636363636363635,"件":0.13636363636363635,"来":0.045454545454545456,"指":0.045454545454545456,"定":0.045454545454545456,"输":0.045454545454545456,"入":0.045454545454545456,"数":0.09090909090909091,"据":0.045454545454545456,"和":0.045454545454545456,"参":0.045454545454545456},"120":{"请":0.043478260869565216,"注":0.043478260869565216,"意":0.043478260869565216,"对":0.043478260869565216,"于":0.043478260869565216,"不":0.08695652173913043,"同":0.08695652173913043,"的":0.08695652173913043,"数":0.043478260869565216,"据":0.043478260869565216,"规":0.043478260869565216,"模":0.043478260869565216,"我":0.043478260869565216,"们":0.043478260869565216,"需":0.043478260869565216,"要":0.043478260869565216,"使":0.043478260869565216,"用":0.043478260869565216,"params_file":0.08695652173913043},"121":{},"122":{"请":0.043478260869565216,"注":0.043478260869565216,"意":0.043478260869565216,"对":0.043478260869565216,"于":0.043478260869565216,"不":0.08695652173913043,"同":0.08695652173913043,"的":0.08695652173913043,"数":0.043478260869565216,"据":0.043478260869565216,"规":0.043478260869565216,"模":0.043478260869565216,"我":0.043478260869565216,"们":0.043478260869565216,"需":0.043478260869565216,"要":0.043478260869565216,"使":0.043478260869565216,"用":0.043478260869565216,"params_file":0.08695652173913043},"123":{"为":0.023255813953488372,"了":0.023255813953488372,"衡":0.023255813953488372,"量":0.023255813953488372,"apsi":0.023255813953488372,"基":0.023255813953488372,"准":0.023255813953488372,"测":0.023255813953488372,"试":0.023255813953488372,"在":0.023255813953488372,"不":0.023255813953488372,"同":0.023255813953488372,"机":0.023255813953488372,"器":0.046511627906976744,"和":0.046511627906976744,"网":0.023255813953488372,"络":0.023255813953488372,"配":0.023255813953488372,"置":0.023255813953488372,"下":0.023255813953488372,"的":0.023255813953488372,"性":0.023255813953488372,"能":0.023255813953488372,"我":0.023255813953488372,"们":0.023255813953488372,"使":0.023255813953488372,"用":0.023255813953488372,"两":0.023255813953488372,"个":0.023255813953488372,"docker":0.023255813953488372,"容":0.023255813953488372,"分":0.023255813953488372,"别":0.023255813953488372,"充":0.023255813953488372,"当":0.023255813953488372,"发":0.023255813953488372,"送":0.023255813953488372,"方":0.046511627906976744,"接":0.023255813953488372,"收":0.023255813953488372},"124":{"apsi_sender":0.16666666666666666,"32c64g":0.16666666666666666,"然":0.16666666666666666,"后":0.16666666666666666,"运":0.16666666666666666,"行":0.16666666666666666},"125":{"然":0.25,"后":0.25,"运":0.25,"行":0.25},"126":{},"127":{"在":0.013736263736263736,"此":0.013736263736263736,"我":0.01098901098901099,"们":0.01098901098901099,"展":0.008241758241758242,"示":0.013736263736263736,"按":0.005494505494505495,"照":0.005494505494505495,"上":0.008241758241758242,"述":0.008241758241758242,"方":0.0027472527472527475,"法":0.005494505494505495,"测":0.013736263736263736,"量":0.008241758241758242,"得":0.0027472527472527475,"到":0.005494505494505495,"的":0.04120879120879121,"apsi":0.016483516483516484,"基":0.005494505494505495,"准":0.005494505494505495,"试":0.008241758241758242,"结":0.005494505494505495,"果":0.013736263736263736,"请":0.008241758241758242,"注":0.005494505494505495,"意":0.005494505494505495,"没":0.0027472527472527475,"有":0.008241758241758242,"记":0.0027472527472527475,"录":0.0027472527472527475,"服":0.0027472527472527475,"务":0.0027472527472527475,"器":0.0027472527472527475,"端":0.0027472527472527475,"设":0.008241758241758242,"置":0.008241758241758242,"阶":0.0027472527472527475,"段":0.0027472527472527475,"所":0.0027472527472527475,"花":0.0027472527472527475,"费":0.0027472527472527475,"时":0.005494505494505495,"间":0.0027472527472527475,"因":0.01098901098901099,"为":0.01098901098901099,"这":0.013736263736263736,"个":0.005494505494505495,"过":0.005494505494505495,"程":0.0027472527472527475,"总":0.0027472527472527475,"是":0.008241758241758242,"可":0.005494505494505495,"以":0.008241758241758242,"离":0.0027472527472527475,"线":0.0027472527472527475,"完":0.0027472527472527475,"成":0.0027472527472527475,"外":0.005494505494505495,"里":0.005494505494505495,"仅":0.0027472527472527475,"了":0.008241758241758242,"特":0.005494505494505495,"定":0.008241758241758242,"数":0.03296703296703297,"据":0.024725274725274724,"下":0.008241758241758242,"少":0.0027472527472527475,"性":0.019230769230769232,"能":0.019230769230769232,"对":0.0027472527472527475,"进":0.008241758241758242,"行":0.0027472527472527475,"相":0.013736263736263736,"当":0.0027472527472527475,"复":0.005494505494505495,"杂":0.0027472527472527475,"不":0.008241758241758242,"同":0.0027472527472527475,"规":0.008241758241758242,"模":0.013736263736263736,"和":0.005494505494505495,"标":0.005494505494505495,"签":0.005494505494505495,"长":0.005494505494505495,"度":0.008241758241758242,"需":0.005494505494505495,"要":0.008241758241758242,"找":0.0027472527472527475,"一":0.013736263736263736,"组":0.0027472527472527475,"合":0.0027472527472527475,"适":0.0027472527472527475,"应":0.005494505494505495,"参":0.01098901098901099,"实":0.0027472527472527475,"现":0.005494505494505495,"最":0.008241758241758242,"佳":0.0027472527472527475,"旨":0.0027472527472527475,"您":0.01098901098901099,"提":0.005494505494505495,"供":0.005494505494505495,"大":0.005494505494505495,"致":0.0027472527472527475,"考":0.005494505494505495,"如":0.01098901098901099,"希":0.0027472527472527475,"望":0.0027472527472527475,"步":0.008241758241758242,"骤":0.0027472527472527475,"来":0.0027472527472527475,"后":0.0027472527472527475,"优":0.005494505494505495,"化":0.0027472527472527475,"深":0.0027472527472527475,"入":0.0027472527472527475,"理":0.005494505494505495,"解":0.0027472527472527475,"算":0.0027472527472527475,"原":0.0027472527472527475,"很":0.0027472527472527475,"必":0.0027472527472527475,"任":0.0027472527472527475,"何":0.0027472527472527475,"与":0.008241758241758242,"私":0.0027472527472527475,"密":0.0027472527472527475,"信":0.0027472527472527475,"息":0.0027472527472527475,"检":0.0027472527472527475,"索":0.0027472527472527475,"pir":0.0027472527472527475,"关":0.005494505494505495,"疑":0.0027472527472527475,"问":0.0027472527472527475,"随":0.0027472527472527475,"联":0.0027472527472527475,"系":0.0027472527472527475,"ms":0.008241758241758242,"表":0.008241758241758242,"毫":0.005494505494505495,"秒":0.005494505494505495,"并":0.0027472527472527475,"代":0.0027472527472527475,"固":0.0027472527472527475,"条":0.008241758241758242,"件":0.0027472527472527475,"查":0.0027472527472527475,"询":0.0027472527472527475,"高":0.0027472527472527475,"你":0.0027472527472527475,"想":0.0027472527472527475,"支":0.0027472527472527475,"持":0.0027472527472527475,"更":0.005494505494505495,"集":0.0027472527472527475,"比":0.0027472527472527475,"十":0.0027472527472527475,"亿":0.0027472527472527475,"目":0.0027472527472527475,"还":0.0027472527472527475,"种":0.005494505494505495,"分":0.0027472527472527475,"桶":0.0027472527472527475,"式":0.005494505494505495,"虑":0.0027472527472527475,"多":0.0027472527472527475,"本":0.0027472527472527475,"次":0.0027472527472527475,"中":0.0027472527472527475,"未":0.0027472527472527475},"128":{},"129":{"我":0.023809523809523808,"们":0.023809523809523808,"在":0.047619047619047616,"dockerhub":0.047619047619047616,"提":0.047619047619047616,"供":0.047619047619047616,"了":0.047619047619047616,"发":0.023809523809523808,"行":0.023809523809523808,"镜":0.047619047619047616,"像":0.047619047619047616,"也":0.023809523809523808,"阿":0.023809523809523808,"里":0.023809523809523808,"云":0.023809523809523808,"secretflow":0.09523809523809523,"registry":0.047619047619047616,"cn":0.047619047619047616,"hangzhou":0.047619047619047616,"cr":0.047619047619047616,"aliyuncs":0.047619047619047616,"com":0.047619047619047616,"psi":0.047619047619047616,"anolis8":0.047619047619047616},"130":{"细":0.002364066193853428,"节":0.002364066193853428,"请":0.026004728132387706,"参":0.002364066193853428,"考":0.002364066193853428,"这":0.002364066193853428,"里":0.002364066193853428,"要":0.004728132387706856,"启":0.0070921985815602835,"动":0.0070921985815602835,"psi":0.002364066193853428,"可":0.002364066193853428,"以":0.004728132387706856,"查":0.002364066193853428,"看":0.002364066193853428,"配":0.028368794326241134,"置":0.04018912529550828,"receiver":0.054373522458628844,"config":0.0851063829787234,"sender":0.054373522458628844,"需":0.002364066193853428,"准":0.002364066193853428,"备":0.002364066193853428,"下":0.002364066193853428,"文":0.04964539007092199,"件":0.04964539007092199,"名":0.01182033096926714,"称":0.01182033096926714,"位":0.01182033096926714,"描":0.01182033096926714,"述":0.01182033096926714,"tmp":0.04728132387706856,"接":0.02364066193853428,"收":0.02364066193853428,"方":0.04728132387706856,"发":0.02364066193853428,"送":0.01182033096926714,"receiver_input":0.02364066193853428,"csv":0.02364066193853428,"输":0.02364066193853428,"入":0.02364066193853428,"确":0.02364066193853428,"保":0.02364066193853428,"有":0.02364066193853428,"id0":0.02364066193853428,"列":0.04728132387706856,"和":0.02364066193853428,"id1":0.02364066193853428,"sender_input":0.02364066193853428,"出":0.01182033096926714},"131":{"在":0.08333333333333333,"第":0.041666666666666664,"一":0.08333333333333333,"个":0.08333333333333333,"终":0.08333333333333333,"端":0.08333333333333333,"运":0.08333333333333333,"行":0.08333333333333333,"以":0.08333333333333333,"下":0.08333333333333333,"命":0.08333333333333333,"令":0.08333333333333333,"另":0.041666666666666664},"132":{"可":0.07692307692307693,"以":0.07692307692307693,"使":0.07692307692307693,"用":0.07692307692307693,"bazel":0.07692307692307693,"编":0.07692307692307693,"译":0.07692307692307693,"psi":0.07692307692307693,"二":0.07692307692307693,"进":0.07692307692307693,"制":0.07692307692307693,"然":0.07692307692307693,"后":0.07692307692307693},"133":{"请":0.05263157894736842,"阅":0.05263157894736842,"读":0.05263157894736842,"readme":0.10526315789473684,"更":0.05263157894736842,"多":0.05263157894736842,"示":0.05263157894736842,"例":0.05263157894736842,"配":0.05263157894736842,"置":0.05263157894736842,"可":0.05263157894736842,"以":0.05263157894736842,"查":0.05263157894736842,"看":0.05263157894736842,"psi":0.10526315789473684,"config":0.10526315789473684},"134":{"要":0.002150537634408602,"启":0.0064516129032258064,"动":0.0064516129032258064,"非":0.002150537634408602,"平":0.002150537634408602,"衡":0.002150537634408602,"psi":0.13978494623655913,"请":0.004301075268817204,"参":0.004301075268817204,"考":0.004301075268817204,"配":0.0064516129032258064,"置":0.0064516129032258064,"和":0.002150537634408602,"这":0.002150537634408602,"里":0.002150537634408602,"示":0.0064516129032258064,"例":0.0064516129032258064,"服":0.015053763440860216,"务":0.015053763440860216,"器":0.015053763440860216,"端":0.030107526881720432,"https":0.06881720430107527,"github":0.06881720430107527,"com":0.06881720430107527,"secretflow":0.06881720430107527,"tree":0.06881720430107527,"main":0.06881720430107527,"examples":0.06881720430107527,"config":0.06881720430107527,"ecdh_server_offline":0.017204301075268817,"json":0.06881720430107527,"ecdh_server_online":0.017204301075268817,"客":0.015053763440860216,"户":0.015053763440860216,"ecdh_client_offline":0.017204301075268817,"ecdh_client_online":0.017204301075268817},"135":{"spu":0.0625,"密":0.0625,"文":0.0625,"运":0.0625,"算":0.0625,"单":0.0625,"元":0.0625,"匿":0.0625,"踪":0.0625,"查":0.0625,"询":0.0625,"pir":0.0625,"快":0.0625,"速":0.0625,"入":0.0625,"门":0.0625},"136":{"pir":0.1048951048951049,"协":0.03496503496503497,"议":0.03496503496503497,"类":0.03496503496503497,"型":0.03496503496503497,"服":0.1048951048951049,"务":0.1048951048951049,"器":0.1048951048951049,"数":0.03496503496503497,"量":0.03496503496503497,"sealpir":0.04195804195804196,"后":0.03496503496503497,"续":0.03496503496503497,"更":0.03496503496503497,"新":0.03496503496503497,"index":0.03496503496503497,"单":0.06993006993006994,"apsikeyword":0.02097902097902098,"apsi":0.013986013986013986,"keyword":0.013986013986013986,"正":0.006993006993006993,"在":0.006993006993006993,"开":0.006993006993006993,"发":0.006993006993006993,"中":0.006993006993006993},"137":{"请":0.02702702702702703,"在":0.05405405405405406,"dockerhub":0.05405405405405406,"上":0.02702702702702703,"查":0.02702702702702703,"看":0.02702702702702703,"官":0.02702702702702703,"方":0.02702702702702703,"发":0.02702702702702703,"布":0.02702702702702703,"版":0.02702702702702703,"docker":0.02702702702702703,"镜":0.05405405405405406,"像":0.05405405405405406,"我":0.02702702702702703,"们":0.02702702702702703,"阿":0.02702702702702703,"里":0.02702702702702703,"云":0.02702702702702703,"也":0.02702702702702703,"设":0.02702702702702703,"有":0.02702702702702703,"源":0.02702702702702703,"secretflow":0.05405405405405406,"registry":0.02702702702702703,"cn":0.02702702702702703,"hangzhou":0.02702702702702703,"cr":0.02702702702702703,"aliyuncs":0.02702702702702703,"com":0.02702702702702703,"psi":0.02702702702702703,"anolis8":0.02702702702702703},"138":{},"139":{"我":0.015151515151515152,"们":0.015151515151515152,"对":0.005050505050505051,"apsi":0.04040404040404041,"库":0.010101010101010102,"提":0.015151515151515152,"供":0.015151515151515152,"了":0.015151515151515152,"一":0.025252525252525252,"个":0.010101010101010102,"简":0.005050505050505051,"单":0.005050505050505051,"的":0.045454545454545456,"封":0.005050505050505051,"装":0.005050505050505051,"请":0.005050505050505051,"仔":0.005050505050505051,"细":0.010101010101010102,"阅":0.010101010101010102,"读":0.010101010101010102,"仓":0.005050505050505051,"readme":0.010101010101010102,"这":0.005050505050505051,"里":0.005050505050505051,"不":0.005050505050505051,"再":0.005050505050505051,"重":0.005050505050505051,"复":0.005050505050505051,"描":0.010101010101010102,"述":0.010101010101010102,"文":0.005050505050505051,"档":0.005050505050505051,"中":0.005050505050505051,"内":0.005050505050505051,"容":0.005050505050505051,"配":0.015151515151515152,"置":0.015151515151515152,"节":0.005050505050505051,"可":0.015151515151515152,"以":0.020202020202020204,"参":0.020202020202020204,"考":0.010101010101010102,"pir":0.020202020202020204,"和":0.005050505050505051,"命":0.010101010101010102,"令":0.010101010101010102,"行":0.010101010101010102,"数":0.010101010101010102,"基":0.005050505050505051,"本":0.005050505050505051,"保":0.005050505050505051,"持":0.005050505050505051,"致":0.005050505050505051,"所":0.005050505050505051,"你":0.010101010101010102,"cli":0.015151515151515152,"arguments":0.010101010101010102,"来":0.015151515151515152,"作":0.015151515151515152,"为":0.015151515151515152,"新":0.005050505050505051,"增":0.005050505050505051,"功":0.005050505050505051,"能":0.005050505050505051,"如":0.020202020202020204,"下":0.015151515151515152,"使":0.010101010101010102,"用":0.020202020202020204,"yacl":0.010101010101010102,"link":0.010101010101010102,"通":0.020202020202020204,"信":0.010101010101010102,"层":0.010101010101010102,"试":0.015151515151515152,"验":0.010101010101010102,"性":0.010101010101010102,"分":0.010101010101010102,"桶":0.010101010101010102,"进":0.010101010101010102,"步":0.010101010101010102,"集":0.010101010101010102,"成":0.010101010101010102,"api":0.010101010101010102,"果":0.005050505050505051,"想":0.005050505050505051,"要":0.005050505050505051,"尝":0.005050505050505051,"类":0.005050505050505051,"似":0.005050505050505051,"过":0.010101010101010102,"方":0.010101010101010102,"式":0.010101010101010102,"编":0.005050505050505051,"译":0.005050505050505051,"源":0.005050505050505051,"代":0.005050505050505051,"码":0.005050505050505051,"然":0.005050505050505051,"后":0.005050505050505051,"获":0.005050505050505051,"取":0.005050505050505051},"140":{"对":0.020833333333333332,"于":0.020833333333333332,"senders":0.020833333333333332,"servers":0.020833333333333332,"你":0.020833333333333332,"必":0.020833333333333332,"须":0.020833333333333332,"提":0.020833333333333332,"供":0.020833333333333332,"一":0.041666666666666664,"个":0.041666666666666664,"作":0.020833333333333332,"为":0.020833333333333332,"输":0.041666666666666664,"入":0.041666666666666664,"的":0.041666666666666664,"csv":0.041666666666666664,"文":0.08333333333333333,"件":0.08333333333333333,"或":0.020833333333333332,"者":0.020833333333333332,"sender":0.041666666666666664,"db":0.041666666666666664,"在":0.020833333333333332,"完":0.020833333333333332,"成":0.041666666666666664,"设":0.020833333333333332,"置":0.020833333333333332,"后":0.020833333333333332,"会":0.020833333333333332,"被":0.020833333333333332,"转":0.020833333333333332,"换":0.020833333333333332},"141":{"0":0.022222222222222223,"4":0.022222222222222223,"csv":0.022222222222222223,"文":0.022222222222222223,"件":0.022222222222222223,"格":0.007407407407407408,"式":0.007407407407407408,"如":0.007407407407407408,"下":0.007407407407407408,"请":0.007407407407407408,"确":0.007407407407407408,"保":0.007407407407407408,"从":0.014814814814814815,"版":0.014814814814814815,"本":0.014814814814814815,"0b0":0.022222222222222223,"开":0.014814814814814815,"始":0.014814814814814815,"必":0.05925925925925926,"须":0.05925925925925926,"包":0.02962962962962963,"含":0.02962962962962963,"表":0.02962962962962963,"头":0.02962962962962963,"首":0.014814814814814815,"行":0.014814814814814815,"为":0.02962962962962963,"且":0.014814814814814815,"只":0.014814814814814815,"允":0.014814814814814815,"许":0.014814814814814815,"key":0.044444444444444446,"和":0.014814814814814815,"value":0.044444444444444446,"两":0.014814814814814815,"列":0.05925925925925926,"是":0.02962962962962963,"数":0.014814814814814815,"据":0.014814814814814815,"项":0.014814814814814815,"即":0.02962962962962963,"键":0.014814814814814815,"标":0.014814814814814815,"签":0.014814814814814815,"值":0.014814814814814815,"此":0.014814814814814815,"可":0.014814814814814815,"选":0.014814814814814815},"142":{"我":0.004098360655737705,"们":0.004098360655737705,"使":0.00819672131147541,"用":0.004098360655737705,"了":0.004098360655737705,"apsi":0.07377049180327869,"的":0.01639344262295082,"原":0.004098360655737705,"生":0.004098360655737705,"参":0.020491803278688523,"数":0.020491803278688523,"详":0.004098360655737705,"情":0.004098360655737705,"请":0.01639344262295082,"查":0.00819672131147541,"阅":0.00819672131147541,"psiparams":0.00819672131147541,"文":0.036885245901639344,"档":0.004098360655737705,"对":0.00819672131147541,"senders":0.012295081967213115,"而":0.00819672131147541,"言":0.00819672131147541,"当":0.004098360655737705,"提":0.028688524590163935,"供":0.028688524590163935,"csv":0.004098360655737705,"件":0.03278688524590164,"时":0.00819672131147541,"必":0.004098360655737705,"须":0.004098360655737705,"同":0.004098360655737705,"一":0.00819672131147541,"个":0.004098360655737705,"如":0.012295081967213115,"果":0.012295081967213115,"是":0.00819672131147541,"sender":0.00819672131147541,"db":0.004098360655737705,"则":0.004098360655737705,"无":0.004098360655737705,"需":0.004098360655737705,"即":0.004098360655737705,"也":0.004098360655737705,"会":0.012295081967213115,"被":0.004098360655737705,"忽":0.004098360655737705,"略":0.004098360655737705,"receivers":0.012295081967213115,"可":0.004098360655737705,"选":0.00819672131147541,"没":0.004098360655737705,"有":0.004098360655737705,"向":0.004098360655737705,"求":0.004098360655737705,"该":0.00819672131147541,"择":0.004098360655737705,"确":0.004098360655737705,"保":0.004098360655737705,"和":0.00819672131147541,"致":0.004098360655737705,"it":0.004098360655737705,"s":0.004098360655737705,"not":0.004098360655737705,"easy":0.004098360655737705,"to":0.012295081967213115,"find":0.004098360655737705,"a":0.00819672131147541,"suitable":0.004098360655737705,"params":0.004098360655737705,"file":0.00819672131147541,"so":0.004098360655737705,"provides":0.004098360655737705,"some":0.004098360655737705,"examples":0.012295081967213115,"at":0.00819672131147541,"parameters":0.036885245901639344,"https":0.012295081967213115,"github":0.012295081967213115,"com":0.012295081967213115,"microsoft":0.012295081967213115,"tree":0.012295081967213115,"main":0.020491803278688523,"_":0.012295081967213115,"we":0.004098360655737705,"have":0.004098360655737705,"copy":0.004098360655737705,"blob":0.00819672131147541,"pir":0.012295081967213115,"as":0.004098360655737705,"well":0.004098360655737705,"you":0.004098360655737705,"can":0.004098360655737705,"refer":0.004098360655737705,"here":0.00819672131147541,"choose":0.004098360655737705,"the":0.004098360655737705,"appropriate":0.004098360655737705,"parameter":0.004098360655737705,"要":0.004098360655737705,"启":0.01639344262295082,"动":0.01639344262295082,"在":0.004098360655737705,"配":0.01639344262295082,"置":0.01639344262295082,"中":0.004098360655737705,"以":0.004098360655737705,"及":0.004098360655737705,"相":0.004098360655737705,"关":0.004098360655737705,"具":0.004098360655737705,"体":0.004098360655737705,"config":0.00819672131147541,"receiver":0.004098360655737705},"143":{"0":0.012121212121212121,"4":0.012121212121212121,"sender":0.03636363636363636,"设":0.006060606060606061,"置":0.006060606060606061,"阶":0.03636363636363636,"段":0.04242424242424243,"此":0.01818181818181818,"中":0.012121212121212121,"根":0.006060606060606061,"据":0.006060606060606061,"输":0.006060606060606061,"入":0.006060606060606061,"的":0.030303030303030304,"csv":0.012121212121212121,"文":0.04242424242424243,"件":0.04242424242424243,"生":0.024242424242424242,"成":0.024242424242424242,"db":0.01818181818181818,"为":0.006060606060606061,"离":0.006060606060606061,"线":0.024242424242424242,"操":0.006060606060606061,"作":0.006060606060606061,"自":0.006060606060606061,"0b0":0.012121212121212121,"版":0.006060606060606061,"本":0.006060606060606061,"起":0.006060606060606061,"用":0.01818181818181818,"来":0.006060606060606061,"源":0.006060606060606061,"通":0.006060606060606061,"过":0.006060606060606061,"source_file":0.012121212121212121,"指":0.012121212121212121,"定":0.012121212121212121,"而":0.006060606060606061,"db_file":0.012121212121212121,"于":0.006060606060606061,"路":0.006060606060606061,"径":0.006060606060606061,"apsi_sender_setup":0.01818181818181818,"json":0.05454545454545454,"在":0.01818181818181818,"接":0.006060606060606061,"收":0.006060606060606061,"recivers":0.006060606060606061,"查":0.006060606060606061,"询":0.006060606060606061,"并":0.006060606060606061,"相":0.006060606060606061,"应":0.006060606060606061,"需":0.006060606060606061,"要":0.006060606060606061,"保":0.012121212121212121,"持":0.006060606060606061,"apsi_sender_online":0.01818181818181818,"receiver":0.012121212121212121,"apsi_receiver":0.01818181818181818,"params_file":0.006060606060606061,"字":0.006060606060606061,"是":0.006060606060606061,"可":0.006060606060606061,"选":0.006060606060606061,"如":0.012121212121212121,"果":0.012121212121212121,"未":0.006060606060606061,"提":0.012121212121212121,"供":0.012121212121212121,"会":0.006060606060606061,"向":0.006060606060606061,"请":0.012121212121212121,"求":0.006060606060606061,"该":0.012121212121212121,"参":0.006060606060606061,"数":0.006060606060606061,"了":0.006060606060606061,"确":0.006060606060606061,"其":0.006060606060606061,"与":0.006060606060606061,"使":0.006060606060606061,"一":0.006060606060606061,"致":0.006060606060606061},"144":{"请":0.03571428571428571,"查":0.07142857142857142,"阅":0.03571428571428571,"相":0.07142857142857142,"关":0.07142857142857142,"示":0.10714285714285714,"例":0.07142857142857142,"如":0.03571428571428571,"需":0.03571428571428571,"更":0.03571428571428571,"多":0.03571428571428571,"演":0.03571428571428571,"配":0.03571428571428571,"置":0.03571428571428571,"你":0.03571428571428571,"可":0.03571428571428571,"以":0.03571428571428571,"看":0.03571428571428571,"这":0.07142857142857142,"里":0.07142857142857142},"145":{"对":0.020761245674740483,"一":0.010380622837370242,"个":0.02768166089965398,"大":0.006920415224913495,"型":0.0034602076124567475,"的":0.03460207612456748,"sender":0.02422145328719723,"db":0.010380622837370242,"进":0.010380622837370242,"行":0.020761245674740483,"搜":0.006920415224913495,"索":0.006920415224913495,"开":0.0034602076124567475,"销":0.0034602076124567475,"很":0.0034602076124567475,"所":0.0034602076124567475,"以":0.01384083044982699,"我":0.0034602076124567475,"们":0.0034602076124567475,"可":0.01384083044982699,"将":0.006920415224913495,"数":0.02422145328719723,"据":0.020761245674740483,"分":0.01384083044982699,"桶":0.02768166089965398,"server":0.0034602076124567475,"虽":0.0034602076124567475,"然":0.0034602076124567475,"知":0.006920415224913495,"道":0.006920415224913495,"client":0.006920415224913495,"查":0.02422145328719723,"询":0.02422145328719723,"是":0.006920415224913495,"哪":0.0034602076124567475,"但":0.0034602076124567475,"不":0.006920415224913495,"具":0.0034602076124567475,"体":0.0034602076124567475,"元":0.0034602076124567475,"素":0.0034602076124567475,"在":0.010380622837370242,"设":0.010380622837370242,"置":0.006920415224913495,"阶":0.006920415224913495,"段":0.006920415224913495,"会":0.01730103806228374,"每":0.01384083044982699,"生":0.0034602076124567475,"成":0.006920415224913495,"应":0.01384083044982699,"线":0.0034602076124567475,"中":0.006920415224913495,"receiver":0.0034602076124567475,"其":0.0034602076124567475,"拆":0.0034602076124567475,"子":0.01384083044982699,"仅":0.006920415224913495,"包":0.0034602076124567475,"含":0.0034602076124567475,"属":0.0034602076124567475,"于":0.0034602076124567475,"同":0.0034602076124567475,"项":0.0034602076124567475,"当":0.0034602076124567475,"receivers":0.0034602076124567475,"向":0.0034602076124567475,"发":0.0034602076124567475,"送":0.0034602076124567475,"时":0.0034602076124567475,"也":0.0034602076124567475,"提":0.0034602076124567475,"供":0.0034602076124567475,"bucket":0.0034602076124567475,"idx":0.0034602076124567475,"针":0.0034602076124567475,"特":0.0034602076124567475,"定":0.0034602076124567475,"假":0.0034602076124567475,"区":0.0034602076124567475,"度":0.0034602076124567475,"为":0.01384083044982699,"text":0.1245674740484429,"ind_degree":0.031141868512110725,"且":0.0034602076124567475,"有":0.010380622837370242,"sender_data_rows":0.020761245674740483,"那":0.006920415224913495,"么":0.006920415224913495,"量":0.0034602076124567475,"该":0.0034602076124567475,"bucket_num":0.031141868512110725,"你":0.006920415224913495,"experimental_bucket_cnt":0.0034602076124567475,"如":0.0034602076124567475,"果":0.0034602076124567475,"query_rows":0.020761245674740483,"里":0.0034602076124567475,"query_rows_per_bucket":0.020761245674740483,"就":0.0034602076124567475,"选":0.0034602076124567475,"择":0.0034602076124567475,"xxx":0.0034602076124567475,"json":0.0034602076124567475,"作":0.0034602076124567475,"params_file":0.0034602076124567475},"146":{"我":0.041666666666666664,"们":0.041666666666666664,"将":0.041666666666666664,"收":0.041666666666666664,"集":0.041666666666666664,"用":0.041666666666666664,"户":0.041666666666666664,"的":0.041666666666666664,"一":0.041666666666666664,"些":0.041666666666666664,"常":0.041666666666666664,"见":0.041666666666666664,"问":0.041666666666666664,"题":0.041666666666666664,"并":0.041666666666666664,"及":0.041666666666666664,"时":0.041666666666666664,"更":0.041666666666666664,"新":0.041666666666666664,"此":0.041666666666666664,"部":0.041666666666666664,"分":0.041666666666666664,"内":0.041666666666666664,"容":0.041666666666666664},"147":{"2":0.002188183807439825,"20":0.002188183807439825,"在":0.010940919037199124,"psi":0.0087527352297593,"配":0.006564551422319475,"置":0.006564551422319475,"中":0.010940919037199124,"broadcast_result":0.030634573304157548,"和":0.010940919037199124,"receiver":0.024070021881838075,"的":0.024070021881838075,"区":0.00437636761487965,"别":0.00437636761487965,"是":0.0350109409190372,"什":0.02188183807439825,"么":0.02188183807439825,"开":0.010940919037199124,"启":0.010940919037199124,"否":0.010940919037199124,"安":0.006564551422319475,"全":0.006564551422319475,"协":0.00437636761487965,"议":0.00437636761487965,"承":0.002188183807439825,"诺":0.002188183807439825,"接":0.01312910284463895,"收":0.015317286652078774,"交":0.006564551422319475,"集":0.006564551422319475,"一":0.0087527352297593,"方":0.02188183807439825,"称":0.006564551422319475,"为":0.015317286652078774,"另":0.002188183807439825,"sender":0.02188183807439825,"发":0.006564551422319475,"送":0.006564551422319475,"当":0.002188183807439825,"时":0.006564551422319475,"也":0.002188183807439825,"会":0.002188183807439825,"到":0.006564551422319475,"双":0.002188183807439825,"必":0.00437636761487965,"须":0.00437636761487965,"就":0.002188183807439825,"值":0.02188183807439825,"达":0.002188183807439825,"成":0.002188183807439825,"致":0.002188183807439825,"则":0.0087527352297593,"程":0.002188183807439825,"序":0.00437636761487965,"将":0.00437636761487965,"停":0.002188183807439825,"止":0.002188183807439825,"运":0.002188183807439825,"行":0.00437636761487965,"如":0.0087527352297593,"果":0.010940919037199124,"只":0.002188183807439825,"有":0.010940919037199124,"能":0.00437636761487965,"够":0.002188183807439825,"结":0.00437636761487965,"而":0.00437636761487965,"任":0.00437636761487965,"何":0.00437636761487965,"第":0.002188183807439825,"三":0.002188183807439825,"都":0.00437636761487965,"无":0.002188183807439825,"法":0.002188183807439825,"看":0.00437636761487965,"因":0.002188183807439825,"此":0.006564551422319475,"希":0.00437636761487965,"望":0.00437636761487965,"获":0.002188183807439825,"取":0.002188183807439825,"设":0.002188183807439825,"true":0.002188183807439825,"io_type_unspecified":0.006564551422319475,"您":0.0087527352297593,"选":0.002188183807439825,"择":0.002188183807439825,"种":0.002188183807439825,"类":0.002188183807439825,"型":0.002188183807439825,"作":0.002188183807439825,"iotype":0.00437636761487965,"默":0.006564551422319475,"认":0.006564551422319475,"但":0.00437636761487965,"它":0.002188183807439825,"没":0.002188183807439825,"实":0.002188183807439825,"际":0.002188183807439825,"意":0.002188183807439825,"义":0.002188183807439825,"目":0.002188183807439825,"前":0.002188183807439825,"我":0.006564551422319475,"们":0.006564551422319475,"仅":0.002188183807439825,"支":0.002188183807439825,"持":0.002188183807439825,"io_type_file_csv":0.002188183807439825,"advanced_join_type_unspecified":0.006564551422319475,"不":0.010940919037199124,"允":0.002188183807439825,"许":0.002188183807439825,"输":0.002188183807439825,"入":0.002188183807439825,"id":0.00437636761487965,"存":0.002188183807439825,"重":0.00437636761487965,"复":0.00437636761487965,"然":0.002188183807439825,"可":0.006564551422319475,"保":0.00437636761487965,"留":0.002188183807439825,"并":0.002188183807439825,"按":0.002188183807439825,"照":0.002188183807439825,"sql":0.002188183807439825,"规":0.002188183807439825,"执":0.002188183807439825,"left":0.002188183807439825,"right":0.002188183807439825,"full":0.002188183807439825,"连":0.002188183807439825,"这":0.002188183807439825,"被":0.002188183807439825,"advancedjointype":0.002188183807439825,"等":0.002188183807439825,"价":0.002188183807439825,"于":0.002188183807439825,"advanced_join_type_inner_join":0.002188183807439825,"桶":0.00437636761487965,"大":0.00437636761487965,"小":0.00437636761487965,"推":0.00437636761487965,"荐":0.00437636761487965,"多":0.006564551422319475,"少":0.00437636761487965,"除":0.00437636761487965,"非":0.0087527352297593,"计":0.002188183807439825,"算":0.002188183807439825,"资":0.002188183807439825,"源":0.002188183807439825,"常":0.00437636761487965,"限":0.002188183807439825,"应":0.00437636761487965,"更":0.006564551422319475,"改":0.00437636761487965,"disable_alignment":0.006564551422319475,"证":0.002188183807439825,"对":0.002188183807439825,"齐":0.002188183807439825,"顺":0.002188183807439825,"匹":0.002188183807439825,"以":0.00437636761487965,"节":0.002188183807439825,"省":0.002188183807439825,"间":0.002188183807439825,"retryoptionsproto":0.00437636761487965,"in":0.00437636761487965,"contextdescproto":0.00437636761487965,"所":0.002188183807439825,"字":0.002188183807439825,"段":0.002188183807439825,"提":0.002188183807439825,"供":0.002188183807439825,"了":0.002188183807439825,"合":0.002188183807439825,"适":0.002188183807439825,"网":0.002188183807439825,"络":0.002188183807439825,"状":0.002188183807439825,"况":0.002188183807439825,"差":0.002188183807439825,"需":0.002188183807439825,"信":0.002188183807439825,"息":0.002188183807439825,"查":0.002188183807439825,"处":0.002188183807439825,"https":0.00437636761487965,"github":0.00437636761487965,"com":0.00437636761487965,"secretflow":0.00437636761487965,"yacl":0.0087527352297593,"blob":0.00437636761487965,"main":0.00437636761487965,"link":0.0087527352297593,"proto":0.00437636761487965,"_":0.002188183807439825},"148":{"如":0.021551724137931036,"何":0.017241379310344827,"使":0.021551724137931036,"用":0.021551724137931036,"ssl":0.008620689655172414,"我":0.008620689655172414,"们":0.008620689655172414,"支":0.004310344827586207,"持":0.004310344827586207,"mtls":0.004310344827586207,"您":0.017241379310344827,"应":0.004310344827586207,"提":0.03879310344827586,"供":0.03879310344827586,"合":0.008620689655172414,"适":0.008620689655172414,"的":0.03017241379310345,"contextdescproto":0.004310344827586207,"enable_ssl":0.01293103448275862,"为":0.017241379310344827,"真":0.017241379310344827,"在":0.03017241379310345,"client_ssl_opts":0.01293103448275862,"中":0.021551724137931036,"设":0.02586206896551724,"置":0.03017241379310345,"verify_depth":0.01293103448275862,"并":0.008620689655172414,"通":0.017241379310344827,"过":0.017241379310344827,"ca_file_path":0.01293103448275862,"对":0.008620689655172414,"等":0.008620689655172414,"方":0.017241379310344827,"ca":0.008620689655172414,"文":0.017241379310344827,"件":0.017241379310344827,"server_ssl_opts":0.01293103448275862,"certificate_path":0.01293103448275862,"和":0.017241379310344827,"private_key_path":0.01293103448275862,"自":0.008620689655172414,"身":0.008620689655172414,"证":0.008620689655172414,"书":0.008620689655172414,"私":0.008620689655172414,"钥":0.008620689655172414,"必":0.008620689655172414,"须":0.008620689655172414,"双":0.008620689655172414,"都":0.008620689655172414,"这":0.008620689655172414,"些":0.008620689655172414,"example":0.01293103448275862,"config":0.01293103448275862,"recovery":0.008620689655172414,"psi":0.008620689655172414,"v2":0.004310344827586207,"了":0.004310344827586207,"恢":0.008620689655172414,"复":0.008620689655172414,"功":0.004310344827586207,"能":0.004310344827586207,"需":0.008620689655172414,"要":0.004310344827586207,"一":0.004310344827586207,"个":0.004310344827586207,"recoveryconfig":0.004310344827586207,"enabled":0.01293103448275862,"folder":0.01293103448275862,"is":0.008620689655172414,"provided":0.008620689655172414,"to":0.008620689655172414,"store":0.008620689655172414,"checkpoints":0.008620689655172414,"果":0.004310344827586207,"任":0.008620689655172414,"务":0.008620689655172414,"失":0.004310344827586207,"败":0.004310344827586207,"只":0.004310344827586207,"相":0.004310344827586207,"同":0.004310344827586207,"配":0.004310344827586207,"重":0.004310344827586207,"新":0.004310344827586207,"启":0.004310344827586207,"动":0.004310344827586207,"进":0.004310344827586207,"度":0.004310344827586207,"将":0.004310344827586207,"会":0.004310344827586207},"149":{"本":0.08333333333333333,"文":0.041666666666666664,"档":0.041666666666666664,"将":0.041666666666666664,"介":0.041666666666666664,"绍":0.041666666666666664,"psi":0.08333333333333333,"v2":0.08333333333333333,"基":0.041666666666666664,"准":0.041666666666666664,"测":0.041666666666666664,"试":0.041666666666666664,"它":0.041666666666666664,"使":0.041666666666666664,"用":0.041666666666666664,"的":0.08333333333333333,"是":0.041666666666666664,"版":0.041666666666666664,"接":0.041666666666666664,"口":0.041666666666666664},"150":{"如":0.03389830508474576,"果":0.01694915254237288,"构":0.01694915254237288,"建":0.01694915254237288,"成":0.01694915254237288,"功":0.01694915254237288,"你":0.01694915254237288,"将":0.03389830508474576,"在":0.01694915254237288,"bazel":0.03389830508474576,"bin":0.03389830508474576,"psi":0.05084745762711865,"目":0.01694915254237288,"录":0.01694915254237288,"中":0.01694915254237288,"找":0.01694915254237288,"到":0.01694915254237288,"一":0.01694915254237288,"个":0.01694915254237288,"名":0.01694915254237288,"为":0.01694915254237288,"main":0.06779661016949153,"的":0.03389830508474576,"可":0.01694915254237288,"执":0.01694915254237288,"行":0.03389830508474576,"文":0.05084745762711865,"件":0.05084745762711865,"我":0.01694915254237288,"们":0.01694915254237288,"使":0.01694915254237288,"用":0.01694915254237288,"并":0.01694915254237288,"结":0.01694915254237288,"合":0.01694915254237288,"配":0.01694915254237288,"置":0.01694915254237288,"来":0.01694915254237288,"运":0.01694915254237288,"不":0.01694915254237288,"同":0.01694915254237288,"协":0.01694915254237288,"议":0.01694915254237288,"例":0.01694915254237288},"151":{"为":0.02631578947368421,"了":0.02631578947368421,"衡":0.02631578947368421,"量":0.02631578947368421,"不":0.05263157894736842,"同":0.05263157894736842,"psi":0.02631578947368421,"协":0.02631578947368421,"议":0.02631578947368421,"在":0.02631578947368421,"数":0.05263157894736842,"据":0.05263157894736842,"规":0.02631578947368421,"模":0.05263157894736842,"下":0.02631578947368421,"的":0.02631578947368421,"性":0.02631578947368421,"能":0.02631578947368421,"我":0.02631578947368421,"们":0.02631578947368421,"需":0.02631578947368421,"要":0.02631578947368421,"通":0.02631578947368421,"过":0.02631578947368421,"generate_psi":0.07894736842105263,"py":0.07894736842105263,"生":0.02631578947368421,"成":0.02631578947368421,"拟":0.02631578947368421},"152":{"我":0.045454545454545456,"们":0.045454545454545456,"使":0.045454545454545456,"用":0.045454545454545456,"配":0.045454545454545456,"置":0.045454545454545456,"文":0.045454545454545456,"件":0.045454545454545456,"来":0.045454545454545456,"指":0.045454545454545456,"定":0.045454545454545456,"不":0.045454545454545456,"同":0.045454545454545456,"的":0.045454545454545456,"psi":0.045454545454545456,"协":0.045454545454545456,"议":0.045454545454545456,"和":0.045454545454545456,"输":0.045454545454545456,"入":0.045454545454545456,"数":0.045454545454545456,"据":0.045454545454545456},"153":{},"154":{},"155":{"为":0.022222222222222223,"了":0.022222222222222223,"在":0.022222222222222223,"不":0.022222222222222223,"同":0.022222222222222223,"机":0.022222222222222223,"器":0.044444444444444446,"配":0.044444444444444446,"置":0.044444444444444446,"和":0.044444444444444446,"网":0.022222222222222223,"络":0.022222222222222223,"下":0.022222222222222223,"测":0.044444444444444446,"量":0.022222222222222223,"psi":0.022222222222222223,"v2":0.022222222222222223,"基":0.022222222222222223,"准":0.022222222222222223,"试":0.022222222222222223,"我":0.022222222222222223,"们":0.022222222222222223,"使":0.022222222222222223,"用":0.022222222222222223,"两":0.022222222222222223,"个":0.022222222222222223,"docker":0.022222222222222223,"容":0.022222222222222223,"分":0.022222222222222223,"别":0.022222222222222223,"充":0.022222222222222223,"当":0.022222222222222223,"发":0.022222222222222223,"送":0.022222222222222223,"方":0.044444444444444446,"接":0.022222222222222223,"收":0.022222222222222223,"alice":0.022222222222222223,"bob":0.022222222222222223},"156":{},"157":{"这":0.016666666666666666,"里":0.016666666666666666,"展":0.016666666666666666,"示":0.016666666666666666,"了":0.016666666666666666,"按":0.016666666666666666,"照":0.016666666666666666,"上":0.016666666666666666,"述":0.016666666666666666,"方":0.016666666666666666,"法":0.016666666666666666,"测":0.03333333333333333,"量":0.016666666666666666,"的":0.016666666666666666,"psi":0.016666666666666666,"v2":0.016666666666666666,"基":0.016666666666666666,"准":0.016666666666666666,"试":0.016666666666666666,"结":0.016666666666666666,"果":0.016666666666666666,"默":0.03333333333333333,"认":0.03333333333333333,"时":0.06666666666666667,"间":0.03333333333333333,"单":0.03333333333333333,"位":0.03333333333333333,"为":0.03333333333333333,"秒":0.03333333333333333,"m":0.05,"代":0.06666666666666667,"表":0.06666666666666667,"分":0.03333333333333333,"钟":0.03333333333333333,"h":0.05,"小":0.03333333333333333},"158":{"隐":0.07692307692307693,"私":0.07692307692307693,"集":0.07692307692307693,"合":0.07692307692307693,"求":0.07692307692307693,"psi":0.07692307692307693,"v1":0.07692307692307693,"接":0.07692307692307693,"口":0.07692307692307693,"快":0.07692307692307693,"速":0.07692307692307693,"入":0.07692307692307693,"门":0.07692307692307693},"159":{"1":0.005253940455341506,"2":0.005253940455341506,"3":0.005253940455341506,"如":0.0035026269702276708,"果":0.0035026269702276708,"带":0.0017513134851138354,"宽":0.0017513134851138354,"受":0.005253940455341506,"限":0.0035026269702276708,"协":0.01926444833625219,"议":0.01926444833625219,"ecdh":0.01926444833625219,"psi":0.07355516637478109,"更":0.0017513134851138354,"具":0.0017513134851138354,"优":0.0017513134851138354,"势":0.0017513134851138354,"计":0.0035026269702276708,"算":0.0017513134851138354,"资":0.0017513134851138354,"源":0.0017513134851138354,"推":0.0017513134851138354,"荐":0.0017513134851138354,"你":0.0017513134851138354,"尝":0.0017513134851138354,"试":0.0017513134851138354,"基":0.0017513134851138354,"于":0.0017513134851138354,"bark":0.0017513134851138354,"oprf":0.010507880910683012,"的":0.010507880910683012,"方":0.06304728546409807,"案":0.0017513134851138354,"kkrt":0.014010507880910683,"威":0.010507880910683012,"胁":0.010507880910683012,"模":0.07005253940455342,"型":0.07880910683012259,"参":0.008756567425569177,"与":0.008756567425569177,"数":0.008756567425569177,"量":0.008756567425569177,"类":0.008756567425569177,"码":0.008756567425569177,"半":0.0542907180385289,"诚":0.0542907180385289,"实":0.05604203152364273,"两":0.05253940455341506,"1ecdh":0.0035026269702276708,"2pcg_psi":0.0035026269702276708,"3mini":0.0035026269702276708,"恶":0.01926444833625219,"意":0.01926444833625219,"dp":0.010507880910683012,"pcg_psi":0.0070052539404553416,"mini":0.0070052539404553416,"mpc":0.0017513134851138354,"和":0.005253940455341506,"是":0.0017513134851138354,"针":0.0017513134851138354,"对":0.0017513134851138354,"特":0.0017513134851138354,"定":0.0017513134851138354,"安":0.0035026269702276708,"全":0.0035026269702276708,"或":0.0017513134851138354,"而":0.0017513134851138354,"设":0.0017513134851138354,"通":0.0017513134851138354,"常":0.0017513134851138354,"认":0.0017513134851138354,"为":0.0035026269702276708,"旨":0.0017513134851138354,"在":0.0035026269702276708,"刻":0.0017513134851138354,"画":0.0017513134851138354,"敌":0.017513134851138354,"手":0.017513134851138354,"能":0.0035026269702276708,"力":0.0017513134851138354,"下":0.0017513134851138354,"分":0.0017513134851138354,"别":0.0017513134851138354,"被":0.0017513134851138354,"称":0.0017513134851138354,"切":0.0017513134851138354,"勿":0.0017513134851138354,"环":0.0017513134851138354,"境":0.0017513134851138354,"中":0.0017513134851138354,"使":0.0017513134851138354,"用":0.0017513134851138354,"否":0.0017513134851138354,"则":0.0017513134851138354,"其":0.0017513134851138354,"可":0.0017513134851138354,"遭":0.0017513134851138354,"攻":0.0017513134851138354,"击":0.0017513134851138354,"并":0.0017513134851138354,"导":0.0017513134851138354,"致":0.0017513134851138354,"信":0.0017513134851138354,"息":0.0017513134851138354,"泄":0.0017513134851138354,"露":0.0017513134851138354,"我":0.0017513134851138354,"们":0.0017513134851138354,"现":0.0017513134851138354,"支":0.0017513134851138354,"持":0.0017513134851138354,"多":0.0017513134851138354,"种":0.0017513134851138354,"椭":0.0017513134851138354,"圆":0.0017513134851138354,"曲":0.0017513134851138354,"线":0.0017513134851138354,"curve25519":0.005253940455341506,"secp256k1":0.005253940455341506,"fourq":0.005253940455341506,"sm2":0.005253940455341506,"详":0.0017513134851138354,"情":0.0017513134851138354,"请":0.0017513134851138354,"查":0.0017513134851138354,"阅":0.0017513134851138354,"文":0.0017513134851138354,"档":0.0017513134851138354,"介":0.0035026269702276708,"绍":0.0035026269702276708},"160":{"配":0.12,"置":0.12,"详":0.02,"情":0.02,"请":0.04,"查":0.02,"阅":0.02,"文":0.04,"档":0.04,"psi":0.06,"v1":0.04,"若":0.02,"要":0.02,"启":0.08,"动":0.08,"参":0.02,"考":0.02,"中":0.02,"的":0.02,"并":0.02,"填":0.02,"写":0.02,"runtime_config":0.04,"legacy_psi_config":0.04,"字":0.02,"段":0.02},"161":{"请":0.02702702702702703,"在":0.05405405405405406,"dockerhub":0.05405405405405406,"上":0.02702702702702703,"查":0.02702702702702703,"看":0.02702702702702703,"官":0.02702702702702703,"方":0.02702702702702703,"发":0.02702702702702703,"布":0.02702702702702703,"版":0.02702702702702703,"docker":0.02702702702702703,"镜":0.05405405405405406,"像":0.05405405405405406,"我":0.02702702702702703,"们":0.02702702702702703,"阿":0.02702702702702703,"里":0.02702702702702703,"云":0.02702702702702703,"也":0.02702702702702703,"设":0.02702702702702703,"有":0.02702702702702703,"源":0.02702702702702703,"secretflow":0.05405405405405406,"registry":0.02702702702702703,"cn":0.02702702702702703,"hangzhou":0.02702702702702703,"cr":0.02702702702702703,"aliyuncs":0.02702702702702703,"com":0.02702702702702703,"psi":0.02702702702702703,"anolis8":0.02702702702702703},"162":{"在":0.07142857142857142,"第":0.03571428571428571,"一":0.07142857142857142,"个":0.07142857142857142,"终":0.07142857142857142,"端":0.07142857142857142,"中":0.07142857142857142,"运":0.07142857142857142,"行":0.07142857142857142,"如":0.07142857142857142,"下":0.07142857142857142,"命":0.07142857142857142,"令":0.07142857142857142,"另":0.03571428571428571,"同":0.03571428571428571,"时":0.03571428571428571},"163":{"你":0.034482758620689655,"可":0.034482758620689655,"以":0.034482758620689655,"通":0.06896551724137931,"过":0.06896551724137931,"bazel":0.034482758620689655,"编":0.034482758620689655,"译":0.034482758620689655,"psi":0.034482758620689655,"二":0.06896551724137931,"进":0.06896551724137931,"制":0.06896551724137931,"文":0.06896551724137931,"件":0.06896551724137931,"然":0.034482758620689655,"后":0.034482758620689655,"如":0.034482758620689655,"下":0.034482758620689655,"命":0.034482758620689655,"令":0.034482758620689655,"使":0.034482758620689655,"用":0.034482758620689655},"164":{"数":0.06666666666666667,"据":0.06666666666666667,"加":0.06666666666666667,"载":0.06666666666666667,"时":0.06666666666666667,"间":0.06666666666666667,"不":0.06666666666666667,"计":0.06666666666666667,"入":0.06666666666666667,"基":0.06666666666666667,"准":0.06666666666666667,"测":0.06666666666666667,"试":0.06666666666666667,"结":0.06666666666666667,"果":0.06666666666666667},"165":{"2":0.07126948775055679,"4":0.004454342984409799,"6":0.004454342984409799,"7":0.004454342984409799,"9":0.004454342984409799,"11":0.004454342984409799,"13":0.004454342984409799,"15":0.004454342984409799,"18":0.004454342984409799,"20":0.013363028953229399,"21":0.008908685968819599,"22":0.008908685968819599,"23":0.013363028953229399,"24":0.017817371937639197,"29":0.004454342984409799,"31":0.004454342984409799,"40":0.008908685968819599,"42":0.004454342984409799,"48":0.004454342984409799,"65":0.004454342984409799,"66":0.004454342984409799,"81":0.004454342984409799,"85":0.004454342984409799,"87":0.004454342984409799,"100":0.004454342984409799,"139":0.004454342984409799,"163":0.004454342984409799,"173":0.004454342984409799,"202":0.013363028953229399,"208":0.004454342984409799,"212":0.013363028953229399,"222":0.013363028953229399,"232":0.013363028953229399,"330":0.004454342984409799,"354":0.004454342984409799,"666":0.004454342984409799,"dh":0.004454342984409799,"psi":0.004454342984409799,"benchmark":0.004454342984409799,"code":0.004454342984409799,"通":0.0022271714922048997,"过":0.0022271714922048997,"docker":0.0022271714922048997,"限":0.0022271714922048997,"制":0.0022271714922048997,"cpu":0.035634743875278395,"资":0.0022271714922048997,"源":0.0022271714922048997,"intel":0.022271714922048998,"r":0.044543429844097995,"xeon":0.022271714922048998,"platinumcpu2":0.013363028953229399,"248269cy":0.0022271714922048997,"50ghz":0.011135857461024499,"使":0.011135857461024499,"用":0.011135857461024499,"curve25519":0.013363028953229399,"donna4c40":0.0066815144766146995,"181s81":0.0066815144766146995,"227s163":0.0066815144766146995,"509s330":0.0066815144766146995,"466s666":0.0066815144766146995,"807s8c20":0.004454342984409799,"682s42":0.0066815144766146995,"054s85":0.0066815144766146995,"272s173":0.0066815144766146995,"836s354":0.0066815144766146995,"842s16c11":0.004454342984409799,"639s23":0.0066815144766146995,"670s48":0.0066815144766146995,"965s100":0.0066815144766146995,"903s208":0.0066815144766146995,"156s":0.011135857461024499,"platinum":0.008908685968819599,"8269cy":0.008908685968819599,"807s":0.0066815144766146995,"donna":0.004454342984409799,"4c":0.008908685968819599,"181s":0.004454342984409799,"227s":0.004454342984409799,"509s":0.004454342984409799,"466s":0.004454342984409799,"8c20":0.0022271714922048997,"842s":0.0066815144766146995,"8c":0.008908685968819599,"682s":0.004454342984409799,"054s":0.004454342984409799,"272s":0.004454342984409799,"836s":0.004454342984409799,"16c11":0.0022271714922048997,"16c":0.008908685968819599,"639s":0.004454342984409799,"670s":0.004454342984409799,"965s":0.004454342984409799,"903s":0.004454342984409799,"ipp":0.015590200445434299,"crypto":0.015590200445434299,"multi":0.004454342984409799,"buffer":0.004454342984409799,"functions":0.004454342984409799,"248369b":0.0022271714922048997,"70ghzcurve25519":0.008908685968819599,"4c7":0.0066815144766146995,"37s15":0.0066815144766146995,"32s31":0.0066815144766146995,"932s66":0.0066815144766146995,"802s139":0.0066815144766146995,"994s8c4":0.004454342984409799,"3s9":0.0066815144766146995,"095s18":0.0066815144766146995,"919s40":0.0066815144766146995,"828s87":0.0066815144766146995,"649s16c2":0.004454342984409799,"921s6":0.0066815144766146995,"081s13":0.0066815144766146995,"186s29":0.0066815144766146995,"614s65":0.0066815144766146995,"186s":0.015590200445434299,"8369b":0.008908685968819599,"994s":0.0066815144766146995,"70ghz":0.0022271714922048997,"37s":0.004454342984409799,"32s":0.004454342984409799,"932s":0.004454342984409799,"802s":0.004454342984409799,"8c4":0.0022271714922048997,"649s":0.0066815144766146995,"3s":0.004454342984409799,"095s":0.004454342984409799,"919s":0.004454342984409799,"828s":0.004454342984409799,"16c2":0.0022271714922048997,"921s":0.004454342984409799,"081s":0.004454342984409799,"614s":0.004454342984409799},"166":{"0":0.08520179372197309,"2":0.042600896860986545,"10":0.004484304932735426,"11":0.004484304932735426,"18":0.004484304932735426,"20":0.004484304932735426,"22":0.004484304932735426,"24":0.011210762331838564,"25":0.011210762331838564,"44":0.004484304932735426,"46":0.004484304932735426,"100":0.004484304932735426,"182":0.006726457399103139,"192":0.004484304932735426,"202":0.006726457399103139,"222":0.006726457399103139,"415":0.004484304932735426,"1672":0.004484304932735426,"在":0.03587443946188341,"我":0.002242152466367713,"们":0.002242152466367713,"的":0.002242152466367713,"所":0.002242152466367713,"有":0.002242152466367713,"实":0.002242152466367713,"验":0.002242152466367713,"里":0.002242152466367713,"各":0.002242152466367713,"参":0.002242152466367713,"与":0.002242152466367713,"方":0.002242152466367713,"均":0.002242152466367713,"采":0.002242152466367713,"用":0.002242152466367713,"单":0.002242152466367713,"线":0.07174887892376682,"程":0.004484304932735426,"模":0.002242152466367713,"式":0.002242152466367713,"运":0.002242152466367713,"行":0.004484304932735426,"如":0.002242152466367713,"果":0.002242152466367713,"带":0.01569506726457399,"宽":0.01569506726457399,"充":0.002242152466367713,"足":0.002242152466367713,"那":0.002242152466367713,"么":0.002242152466367713,"上":0.002242152466367713,"游":0.002242152466367713,"就":0.002242152466367713,"可":0.002242152466367713,"以":0.002242152466367713,"尝":0.002242152466367713,"试":0.002242152466367713,"进":0.002242152466367713,"多":0.002242152466367713,"优":0.002242152466367713,"化":0.002242152466367713,"通":0.002242152466367713,"过":0.002242152466367713,"wondershaper":0.004484304932735426,"限":0.002242152466367713,"制":0.002242152466367713,"10mbps":0.008968609865470852,"10240kbps":0.002242152466367713,"100mbps":0.008968609865470852,"102400kbps":0.002242152466367713,"1000mbps":0.002242152466367713,"1024000kbps":0.002242152466367713,"intel":0.002242152466367713,"r":0.004484304932735426,"xeon":0.002242152466367713,"platinum":0.002242152466367713,"8269cy":0.002242152466367713,"cpu":0.002242152466367713,"50ghz":0.002242152466367713,"阶":0.07847533632286996,"段":0.07847533632286996,"局":0.011210762331838564,"域":0.011210762331838564,"网":0.011210762331838564,"离":0.033632286995515695,"012s0":0.033632286995515695,"014s":0.02242152466367713,"495s2":0.006726457399103139,"474s10":0.006726457399103139,"765s44":0.006726457399103139,"368s100mbps":0.004484304932735426,"024s0":0.006726457399103139,"694s11":0.006726457399103139,"048s46":0.006726457399103139,"983s192":0.006726457399103139,"37s10mbps":0.004484304932735426,"016s0":0.006726457399103139,"019s0":0.006726457399103139,"0312s0":0.006726457399103139,"018s":0.011210762331838564,"434s100":0.006726457399103139,"68s415":0.006726457399103139,"94s1672":0.006726457399103139,"21s":0.011210762331838564,"012s":0.02242152466367713,"368s":0.006726457399103139,"495s":0.004484304932735426,"474s":0.004484304932735426,"765s":0.004484304932735426,"024s":0.004484304932735426,"37s":0.006726457399103139,"694s":0.004484304932735426,"048s":0.004484304932735426,"983s":0.004484304932735426,"016s":0.004484304932735426,"019s":0.004484304932735426,"0312s":0.004484304932735426,"434s":0.004484304932735426,"68s":0.004484304932735426,"94s":0.004484304932735426},"167":{"警":0.016666666666666666,"告":0.016666666666666666,"kkrt16":0.03333333333333333,"协":0.05,"议":0.06666666666666667,"是":0.016666666666666666,"一":0.03333333333333333,"种":0.016666666666666666,"半":0.016666666666666666,"诚":0.016666666666666666,"实":0.016666666666666666,"模":0.03333333333333333,"型":0.03333333333333333,"下":0.03333333333333333,"的":0.03333333333333333,"psi":0.05,"在":0.016666666666666666,"恶":0.016666666666666666,"意":0.016666666666666666,"可":0.016666666666666666,"能":0.03333333333333333,"会":0.016666666666666666,"受":0.016666666666666666,"到":0.016666666666666666,"攻":0.016666666666666666,"击":0.016666666666666666,"我":0.016666666666666666,"们":0.016666666666666666,"建":0.016666666666666666,"将":0.016666666666666666,"用":0.016666666666666666,"作":0.016666666666666666,"单":0.016666666666666666,"向":0.016666666666666666,"即":0.016666666666666666,"只":0.016666666666666666,"有":0.016666666666666666,"方":0.016666666666666666,"获":0.016666666666666666,"得":0.016666666666666666,"最":0.016666666666666666,"终":0.016666666666666666,"交":0.016666666666666666,"集":0.016666666666666666,"结":0.016666666666666666,"果":0.016666666666666666}},"type":{"1":{"fragment":1},"2":{"fragment":1},"3":{"fragment":1},"4":{"fragment":1},"5":{"fragment":1},"6":{"fragment":1},"7":{"fragment":1},"8":{"fragment":1},"9":{"fragment":1},"10":{"fragment":1},"11":{"fragment":1},"12":{"fragment":1},"13":{"fragment":1},"14":{"fragment":1},"15":{"fragment":1},"16":{"fragment":1},"17":{"fragment":1},"18":{"fragment":1},"19":{"fragment":1},"20":{"fragment":1},"21":{"fragment":1},"22":{"fragment":1},"23":{"fragment":1},"24":{"fragment":1},"25":{"fragment":1},"26":{"fragment":1},"27":{"fragment":1},"28":{"fragment":1},"29":{"fragment":1},"30":{"fragment":1},"31":{"fragment":1},"32":{"fragment":1},"33":{"fragment":1},"34":{"fragment":1},"35":{"fragment":1},"36":{"fragment":1},"37":{"fragment":1},"38":{"fragment":1},"39":{"fragment":1},"40":{"fragment":1},"41":{"fragment":1},"42":{"fragment":1},"43":{"fragment":1},"44":{"fragment":1},"45":{"fragment":1},"46":{"fragment":1},"47":{"fragment":1},"48":{"fragment":1},"49":{"fragment":1},"50":{"fragment":1},"51":{"fragment":1},"52":{"fragment":1},"53":{"fragment":1},"54":{"fragment":1},"55":{"fragment":1},"56":{"fragment":1},"57":{"fragment":1},"58":{"fragment":1},"59":{"fragment":1},"60":{"fragment":1},"61":{"fragment":1},"62":{"fragment":1},"63":{"fragment":1},"64":{"fragment":1},"65":{"fragment":1},"66":{"fragment":1},"67":{"fragment":1},"68":{"fragment":1},"69":{"fragment":1},"70":{"fragment":1},"71":{"fragment":1},"72":{"fragment":1},"73":{"fragment":1},"74":{"fragment":1},"75":{"fragment":1},"76":{"fragment":1},"77":{"fragment":1},"78":{"fragment":1},"79":{"fragment":1},"80":{"fragment":1},"81":{"fragment":1},"82":{"fragment":1},"83":{"fragment":1},"84":{"fragment":1},"85":{"fragment":1},"86":{"fragment":1},"87":{"fragment":1},"88":{"fragment":1},"89":{"fragment":1},"90":{"fragment":1},"91":{"fragment":1},"92":{"fragment":1},"93":{"fragment":1},"94":{"fragment":1},"95":{"fragment":1},"96":{"fragment":1},"97":{"fragment":1},"98":{"fragment":1},"99":{"fragment":1},"100":{"fragment":1},"101":{"fragment":1},"102":{"fragment":1},"103":{"fragment":1},"104":{"fragment":1},"105":{"fragment":1},"106":{"fragment":1},"107":{"fragment":1},"108":{"fragment":1},"109":{"fragment":1},"110":{"fragment":1},"111":{"fragment":1},"112":{"fragment":1},"113":{"fragment":1},"114":{"fragment":1},"115":{"fragment":1},"116":{"fragment":1},"117":{"fragment":1},"118":{"fragment":1},"119":{"fragment":1},"120":{"fragment":1},"121":{"fragment":1},"122":{"fragment":1},"123":{"fragment":1},"124":{"fragment":1},"125":{"fragment":1},"126":{"fragment":1},"127":{"fragment":1},"128":{"fragment":1},"129":{"fragment":1},"130":{"fragment":1},"131":{"fragment":1},"132":{"fragment":1},"133":{"fragment":1},"134":{"fragment":1},"135":{"fragment":1},"136":{"fragment":1},"137":{"fragment":1},"138":{"fragment":1},"139":{"fragment":1},"140":{"fragment":1},"141":{"fragment":1},"142":{"fragment":1},"143":{"fragment":1},"144":{"fragment":1},"145":{"fragment":1},"146":{"fragment":1},"147":{"fragment":1},"148":{"fragment":1},"149":{"fragment":1},"150":{"fragment":1},"151":{"fragment":1},"152":{"fragment":1},"153":{"fragment":1},"154":{"fragment":1},"155":{"fragment":1},"156":{"fragment":1},"157":{"fragment":1},"158":{"fragment":1},"159":{"fragment":1},"160":{"fragment":1},"161":{"fragment":1},"162":{"fragment":1},"163":{"fragment":1},"164":{"fragment":1},"165":{"fragment":1},"166":{"fragment":1},"167":{"fragment":1}},"symbol.domain":{},"symbol.name":{},"symbol.module":{}},"tokenOccurrences":{"url":{"0":13,"1":1,"2":3,"3":4,"4":9,"5":1,"psi":199,"main":167,"zh":167,"cn":167,"welcome":1,"to":1,"secretflow":1,"library":1,"s":1,"documentation":1,"whatsnew":20,"release":6,"notes":1,"v0":18,"0beta":4,"2beta":1,"dev240801":1,"dev240731":1,"dev240521":1,"dev240517":1,"dev240514":1,"dev240401":1,"dev240329":1,"dev240304":1,"dev240222":1,"dev240219":1,"dev240123":1,"dev231228":1,"dev231221":1,"getting_started":18,"getting":1,"started":1,"installation":1,"c":1,"binaries":1,"docker":7,"building":6,"from":5,"source":5,"python":1,"packages":1,"id1":2,"id2":2,"applications":1,"id3":2,"id4":2,"deprecated":2,"easy":1,"system":1,"setup":2,"dev":1,"linux":1,"build":1,"unittest":1,"reporting":1,"an":1,"issue":1,"development":12,"psi_protocol_intro":10,"protocols":3,"introduction":1,"ecdh":4,"3p":1,"kkrt16":1,"differentially":1,"private":1,"unbalanced":1,"oprf":1,"based":1,"labeled":1,"rr22":1,"blazing":1,"fast":1,"reference":66,"api":1,"pir_config":8,"pir":15,"configuration":4,"table":4,"of":4,"contents":4,"messages":4,"apsireceiverconfig":1,"apsisenderconfig":1,"pirresultreport":1,"enums":4,"scalar":4,"value":4,"types":4,"psi_v2_config":21,"v2":3,"debugoptions":1,"ecdhconfig":1,"inputattr":1,"ioconfig":1,"kkrtconfig":1,"outputattr":1,"protocolconfig":1,"psiconfig":2,"recoveryconfig":1,"rr22config":1,"ubpsiconfig":2,"iotype":1,"protocol":1,"advancedjointype":1,"role":1,"mode":2,"psi_config":13,"v1":2,"bucketpsiconfig":1,"dppsiparams":1,"inputparams":1,"memorypsiconfig":1,"outputparams":1,"psiresultreport":1,"curvetype":1,"psitype":1,"launch_config":21,"launch":1,"launchconfig":1,"allocatedports":1,"clusterdefine":1,"party":1,"port":1,"service":1,"taskinputconfig":2,"sfpsiconfigmapentry":1,"contextdescproto":1,"partyproto":1,"retryoptionsproto":1,"ssloptionsproto":1,"user_guide":53,"user":1,"guide":1,"apsi_benchmark":12,"apsi":9,"benchmark":7,"generate":2,"data":5,"prepare":5,"config":9,"file":4,"sender":4,"json":3,"online":1,"receiver":3,"run":4,"with":2,"32c64g":1,"16c32g":1,"limit":2,"bandwidth":2,"and":5,"latency":2,"psi_v2":7,"quickstart":3,"more":1,"examples":2,"ub":1,"supported":2,"keyword":1,"before":1,"start":1,"csv":1,"params":1,"full":1,"bucketized":1,"faq":4,"frequently":1,"asked":1,"questions":1,"issues":2,"feature":1,"psi_v2_benchmark":9,"kkrt":1,"security":1,"tips":1},"title":{"0":14,"1":1,"2":3,"3":5,"4":8,"5":1,"欢":1,"迎":1,"查":1,"看":1,"secretflow":2,"psi":86,"的":5,"相":2,"关":2,"文":6,"档":1,"发":26,"版":21,"说":23,"明":23,"布":3,"v0":17,"0beta":5,"dev240801":1,"dev240731":1,"dev240521":1,"dev240517":1,"dev240514":1,"dev240401":1,"dev240329":1,"dev240304":1,"dev240222":1,"dev240219":1,"dev240123":1,"dev231228":1,"dev231221":1,"入":47,"门":46,"指":20,"南":20,"安":2,"装":1,"c":1,"二":1,"进":2,"制":3,"件":5,"已":11,"docker":7,"镜":5,"像":5,"源":5,"码":5,"编":3,"译":3,"python":1,"包":1,"spu":1,"应":1,"用":5,"scql":1,"secretpad":1,"不":1,"推":1,"荐":1,"使":3,"easy":1,"系":1,"统":1,"环":1,"境":1,"准":32,"备":7,"开":3,"linux":1,"构":4,"建":4,"与":1,"单":1,"元":1,"测":26,"试":26,"问":6,"题":6,"反":1,"馈":1,"者":1,"协":19,"议":19,"介":10,"绍":10,"ecdh":4,"三":1,"方":3,"kkrt16":1,"差":1,"分":2,"隐":1,"私":1,"非":2,"平":2,"衡":2,"基":26,"于":1,"oprf":1,"标":5,"签":1,"rr22":1,"高":1,"速":29,"参":4,"考":1,"实":1,"现":1,"api":1,"reference":1,"pir":22,"配":72,"置":72,"目":4,"录":4,"apsi":17,"接":1,"收":1,"送":1,"结":1,"果":1,"报":1,"告":1,"枚":2,"举":2,"量":4,"值":4,"类":4,"型":4,"v2":37,"messages":4,"debugoptions":1,"ecdhconfig":1,"inputattr":1,"ioconfig":1,"kkrtconfig":1,"outputattr":1,"protocolconfig":1,"psiconfig":2,"recoveryconfig":1,"rr22config":1,"ubpsiconfig":2,"enums":4,"iotype":1,"protocol":1,"advancedjointype":1,"role":1,"mode":1,"v1":23,"消":1,"息":1,"bucketpsiconfig":1,"dppsiparams":1,"输":2,"数":8,"memorypsiconfig":1,"出":1,"psiresultreport":1,"curvetype":1,"psitype":1,"启":21,"动":21,"launchconfig":1,"allocatedports":1,"clusterdefine":1,"party":1,"port":1,"service":1,"taskinputconfig":2,"sfpsiconfigmapentry":1,"contextdescproto":1,"partyproto":1,"retryoptionsproto":1,"ssloptionsproto":1,"户":1,"从":1,"行":5,"生":2,"成":2,"据":5,"apsi_sender_setup":1,"json":3,"apsi_sender_online":1,"apsi_receiver":2,"运":4,"apsi_sender":1,"32c64g":1,"16c32g":1,"限":2,"带":2,"宽":2,"和":5,"延":2,"迟":2,"benchmark":1,"快":28,"更":1,"多":1,"示":3,"例":2,"支":2,"持":2,"keyword":1,"始":1,"前":1,"csv":1,"完":1,"整":1,"桶":1,"模":1,"式":1,"常":3,"见":3,"faq":3,"特":1,"性":1,"sender":1,"config":2,"receiver":1,"废":10,"弃":10,"kkrt":1,"全":1,"提":1},"content":{"0":140,"1":579,"2":245,"3":83,"4":29,"5":18,"6":4,"7":12,"8":12,"9":9,"10":25,"11":10,"12":2,"13":4,"14":2,"15":6,"16":10,"18":4,"20":28,"21":14,"22":17,"23":8,"24":33,"25":5,"26":2,"28":10,"29":2,"30":10,"31":2,"32":8,"35":2,"40":4,"42":7,"44":2,"46":2,"48":12,"50":5,"56":23,"65":2,"66":2,"81":2,"85":2,"86":5,"87":2,"100":4,"128":1,"134":19,"139":2,"144":5,"163":2,"170":5,"173":2,"182":3,"192":2,"202":12,"203":2,"208":2,"212":9,"221":2,"222":12,"224":8,"232":9,"256":5,"291":4,"308":4,"320":12,"330":2,"354":2,"359":5,"415":2,"418":2,"435":2,"512":5,"565":5,"580":5,"666":2,"691":2,"702":2,"799":12,"806":5,"818":2,"829":2,"896":2,"912":2,"1024":5,"1055":2,"1072":2,"1074":2,"1091":2,"1109":5,"1145":6,"1223":2,"1237":2,"1243":2,"1255":2,"1672":2,"1986":19,"1999":2,"2006":4,"2010":7,"2011":2,"2012":7,"2015":7,"2016":26,"2017":4,"2018":12,"2019":12,"2020":2,"2021":8,"2022":14,"2048":5,"2208":9,"2242":6,"3958":2,"4096":10,"6280":2,"8192":3,"10022":5,"10957":2,"13249":9,"14888":10,"25519":2,"32918":10,"65535":5,"3133956":3,"3134061":3,"3243734":3,"3243836":3,"该":46,"仓":6,"包":53,"含":41,"secretflow":351,"项":123,"目":31,"中":215,"隐":32,"私":45,"求":27,"交":77,"psi":517,"和":156,"匿":2,"查":104,"询":48,"pir":70,"相":44,"关":30,"的":920,"代":24,"码":155,"scql":22,"secretpad":10,"功":18,"能":99,"都":10,"是":152,"通":58,"过":40,"本":59,"实":120,"现":41,"之":18,"前":27,"spu":100,"一":133,"部":18,"分":123,"注":90,"意":117,"feature":30,"缀":12,"表":76,"示":43,"新":35,"bugfix":28,"修":35,"复":70,"缺":4,"陷":4,"api":70,"变":52,"更":72,"improvement":32,"改":32,"进":101,"删":4,"除":18,"psi_v2":20,"配":200,"置":242,"里":17,"skip_duplicates_check":5,"旧":2,"版":17,"ub":6,"函":34,"数":498,"可":164,"以":87,"指":106,"定":134,"输":176,"出":94,"csv":79,"空":22,"值":166,"支":122,"持":131,"单":26,"接":224,"收":187,"方":518,"连":24,"操":13,"作":49,"使":240,"用":430,"协":158,"议":156,"行":146,"rr22":29,"enhancement":2,"drop":2,"ic_mode":4,"experimental":2,"params":3,"ecdh":84,"batch_size":8,"重":103,"移":13,"植":4,"apsi":102,"临":4,"时":144,"录":24,"清":2,"理":59,"在":184,"arrow":9,"读":13,"取":39,"器":45,"bc22":4,"为":326,"docker":18,"文":304,"件":259,"添":21,"加":68,"入":147,"口":57,"点":22,"允":14,"许":14,"直":8,"向":17,"main":131,"传":11,"递":4,"json":57,"ic":4,"模":110,"式":87,"sealpir":12,"升":6,"级":16,"yacl":21,"至":7,"5b0":4,"xz":4,"下":48,"载":12,"链":16,"macos":2,"arm":2,"构":18,"建":9,"问":15,"题":20,"桶":80,"4b3":2,"系":23,"统":12,"夹":12,"uuid":5,"检":47,"拼":2,"写":19,"错":29,"误":28,"runlegacypsi":2,"暴":6,"露":30,"于":268,"调":9,"试":103,"日":13,"志":13,"记":16,"库":64,"结":92,"rfc9380":7,"elligator2":7,"hash_to_curve":7,"恶":18,"vole":15,"v2":74,"排":13,"序":38,"命":18,"令":9,"缓":14,"冲":4,"区":10,"大":96,"小":46,"simpleshuffledbatchprovider":2,"psi_test":2,"不":182,"稳":2,"性":69,"竞":4,"态":23,"条":7,"将":177,"check_duplicates":2,"名":41,"sort_output":2,"disable_alignment":15,"左":10,"右":10,"全":21,"了":78,"差":25,"集":168,"如":218,"果":265,"存":68,"恢":18,"则":119,"跳":4,"键":40,"syncwait":2,"故":7,"障":7,"内":41,"迁":2,"kkrt":28,"欢":1,"迎":1,"多":90,"种":21,"c":158,"二":20,"制":27,"您":23,"自":20,"编":126,"译":8,"或":48,"官":5,"发":255,"布":48,"镜":17,"像":17,"python":34,"封":12,"装":17,"基":109,"础":7,"上":44,"步":14,"提":76,"供":65,"易":5,"应":66,"成":73,"此":33,"join":27,"组":22,"我":48,"们":50,"正":11,"开":22,"并":66,"推":39,"荐":39,"v1":24,"apis":11,"ecdh_oprf_ub":8,"dp_psi":5,"rr22cdh":3,"ecdh_oprf_ubcsv":2,"解":30,"析":5,"apache":5,"所":70,"有":183,"合":107,"法":45,"力":6,"暂":16,"已":49,"未":37,"绑":5,"cdh":2,"请":94,"看":13,"dockerhub":8,"也":7,"阿":4,"云":4,"registry":6,"cn":174,"hangzhou":6,"cr":6,"aliyuncs":6,"com":57,"anolis8":6,"参":150,"考":28,"档":10,"说":6,"明":17,"安":14,"南":2,"https":204,"www":114,"org":165,"zh":78,"docs":90,"reference":22,"py_api":2,"source":64,"psi_df":8,"psi_csv":8,"psi_join_df":8,"psi_join_csv":8,"弃":25,"pir_setup":8,"pir_query":8,"pir_memory_query":8,"v0":8,"0b0":13,"pir_config":8,"列":82,"component":4,"comp_list":4,"快":22,"速":27,"门":16,"教":2,"程":25,"算":113,"子":16,"en":12,"operators":12,"in":102,"手":12,"册":2,"easy":3,"handbook":2,"需":52,"要":53,"依":2,"赖":2,"gcc":2,"cmake":2,"ninja":2,"nasm":2,"bazel":9,"golang":2,"xxd":2,"lld":2,"perl":2,"对":203,"bazeliskrc":2,"者":17,"bazelisk":1,"测":23,"github":53,"issues":2,"反":1,"馈":1,"会":68,"及":10,"跟":1,"回":9,"原":15,"设":99,"计":67,"比":46,"高":46,"主":1,"介":9,"绍":9,"半":45,"诚":45,"两":96,"hfh99":5,"型":269,"三":6,"ot":11,"kkrt16":6,"dp":39,"非":43,"平":12,"衡":40,"rs21":6,"dh":4,"由":3,"huberman":3,"franklin":3,"hogg":3,"其":49,"论":2,"追":6,"溯":1,"meadows":8,"mea86":7,"采":20,"diffie":9,"hellman":9,"群":14,"运":62,"次":25,"与":76,"元":49,"素":52,"量":77,"般":1,"而":22,"言":3,"度":46,"但":11,"信":41,"销":4,"某":4,"些":27,"场":1,"景":1,"远":2,"ddh":6,"假":7,"骤":2,"商":4,"选":80,"g":74,"生":35,"随":33,"机":39,"a":279,"b":509,"无":154,"ga":32,"gb":37,"gab":16,"ab":196,"gc":16,"广":11,"泛":1,"候":1,"括":2,"限":31,"域":73,"乘":1,"椭":30,"圆":30,"曲":50,"线":128,"践":1,"精":2,"心":1,"择":24,"curve25519":27,"ber06":9,"间":73,"良":1,"好":2,"每":110,"个":199,"xix_ixi":10,"alice":77,"先":15,"哈":63,"希":66,"然":21,"后":50,"她":2,"密":114,"钥":36,"alpha":148,"从":25,"h":667,"xi":418,"x_i":184,"alphah":12,"i":1295,"1n1":204,"_":165,"n_1":84,"送":220,"给":83,"bob":70,"到":94,"beta":298,"得":64,"yiy_iyi":10,"yi":286,"y_i":126,"betah":12,"1n2":88,"n_2":36,"处":60,"较":39,"xix_i":6,"x":370,"n1":45,"n":93,"yiy_i":6,"y":403,"n2":20,"块":4,"libsodium":11,"doc":6,"ipp":17,"crypto":17,"intel":24,"cpu":22,"support":6,"avx":5,"ifma":5,"secp256k1":8,"sec2":16,"openssl":22,"_sm2":2,"标":97,"准":43,"t":25,"_iso":2,"iec":10,"3fourq":2,"fourq":22,"microsoft":23,"fourqlib":6,"sm2":8,"iso":8,"研":2,"知":4,"息":18,"泄":24,"风":2,"险":2,"谨":1,"慎":1,"charlie":11,"最":38,"终":51,"外":30,"据":159,"初":1,"始":55,"阶":114,"段":187,"被":30,"打":26,"乱":13,"流":4,"第":32,"顺":7,"获":57,"cap":24,"zi":64,"z_i":32,"gamma":40,"z":10,"扩":2,"展":6,"bark":6,"oprf":72,"谷":33,"鸟":33,"首":15,"各":2,"位":44,"长":55,"字":138,"符":27,"串":9,"仅":50,"钟":3,"psz18":1,"路":75,"案":5,"h1":402,"h2":218,"h3":54,"m":147,"h_1":167,"h_2":106,"h_3":24,"rightarrow":8,"插":14,"执":5,"fs":48,"ki":78,"f_":24,"s":130,"k_i":24,"针":15,"binibin_ibini":4,"f":38,"k":106,"binibin_i":3,"bini":3,"ni":2,"bin_i":1,"bi":1,"还":6,"承":7,"担":6,"什":11,"么":32,"想":4,"既":1,"保":59,"护":11,"又":1,"电":2,"这":63,"典":1,"体":3,"mpc":2,"he":1,"psty19":2,"效":79,"率":29,"面":1,"价":2,"利":1,"样":17,"校":1,"噪":2,"声":2,"确":26,"经":29,"洗":2,"牌":2,"xxx":4,"yyy":3,"xx":3,"yy":3,"来":19,"xay":6,"gets":15,"ay":3,"xa":23,"别":9,"己":3,"xax":21,"axa":12,"yby":14,"byb":8,"by_":28,"by":16,"同":45,"bbb":4,"xabx":7,"xab":57,"着":5,"换":3,"pi":32,"返":8,"aby_":7,"abi_":14,"y_":13,"找":6,"它":10,"索":21,"引":17,"揭":2,"yb":10,"bb":3,"i_":2,"只":16,"带":15,"否":77,"真":5,"属":22,"际":8,"避":1,"免":1,"地":34,"削":1,"弱":1,"强":3,"因":16,"烈":1,"户":17,"防":1,"止":7,"r":267,"xeon":16,"platinum":10,"24dp":1,"秒":50,"067":5,"默":99,"认":100,"epsilon":17,"详":15,"情":17,"阅":9,"ra18":2,"节":55,"bbcd":2,"称":47,"放":11,"宽":9,"jl10":2,"够":3,"抵":1,"御":1,"攻":3,"击":3,"预":7,"优":7,"化":30,"尽":2,"转":2,"伪":12,"客":15,"端":80,"服":36,"务":40,"prf":12,"双":16,"draft":5,"irtf":5,"cfrg":5,"voprf":6,"规":24,"poprf":1,"离":29,"即":15,"再":54,"盲":8,"rir_iri":12,"ri":286,"r_i":99,"rih_1":9,"rir_i":6,"she":1,"签":54,"另":10,"cmgd":4,"clr17":2,"chlr18":2,"杂":2,"微":2,"软":2,"asymmetric":2,"究":1,"seal":16,"bfv":1,"fv12":2,"词":2,"itemparams":7,"tableparams":7,"queryparams":7,"sealparams":7,"物":4,"品":4,"si":148,"s_i":61,"ss_i":9,"ssi":6,"h0":20,"mathcal":84,"h_0":10,"割":9,"bin":29,"bundles":14,"匹":31,"bundle":12,"j":83,"ft":32,"mathbb":24,"_tft":16,"联":7,"rr_i":9,"rri":6,"rrr":8,"具":13,"fhe":13,"窗":8,"幂":22,"encrypt":7,"评":19,"估":19,"必":117,"_t":8,"rr":3,"1itemparams":3,"felts_per_item":10,"占":11,"少":13,"批":15,"槽":5,"item_bit_size":10,"plain_modulus_bits":5,"stats_params":5,"log":10,"ns":5,"nr":15,"2tableparams":3,"hash_func_count":15,"质":5,"禁":5,"table_size":5,"floor":5,"poly_modulus_degree":10,"整":34,"倍":5,"max_items_per_bin":10,"容":15,"纳":10,"3queryparams":3,"ps_low_degree":10,"ps":5,"低":27,"任":25,"paterson":10,"stockmeyer":10,"query_powers":5,"challis":5,"robinson":5,"适":46,"源":17,"4sealparams":3,"8192plain_modulus":2,"_bits":5,"coeff_modulus_bits":5,"plain_modulus":3,"储":2,"okvs":5,"降":1,"encode":26,"decode":1,"v":4,"抽":1,"象":1,"pcgs":1,"亚":1,"受":10,"pcg":1,"lpn":6,"纠":1,"友":1,"crr21":2,"银":2,"色":8,"ldpc":3,"bcgi":2,"累":1,"积":1,"silver":3,"leftarrow":8,"kappar":4,"p":82,"l":56,"vec":144,"mathrm":8,"hn":48,"sub":2,"delta":32,"满":2,"足":3,"义":8,"cdot":32,"yx":11,"kappa":4,"e":12,"o":1,"d":13,"boyle":10,"couteau":12,"gilboa":10,"and":66,"ishai":10,"compressing":2,"vector":6,"ole":6,"acm":40,"ccs":18,"pages":14,"press":14,"october":4,"kohl":8,"rindal":16,"scholl":8,"efficient":23,"two":4,"round":4,"extension":6,"silent":16,"non":4,"interactive":4,"secure":8,"computation":8,"november":6,"daniel":4,"bernstein":7,"new":2,"speed":2,"records":2,"public":2,"key":22,"cryptography":4,"pkc":2,"springer":8,"verlag":4,"lncs":6,"page":5,"cited":2,"on":23,"elette":2,"geoffroy":4,"niv":2,"yuval":2,"lisa":2,"nicolas":2,"resch":2,"peter":10,"correlated":2,"pseudorandomness":2,"from":18,"expand":4,"accumulate":2,"codes":6,"crypto2022":2,"baldi":2,"baronio":2,"cristofaro":2,"gasti":2,"tsudik":2,"countering":2,"gattaca":2,"testing":2,"of":17,"fully":6,"sequenced":2,"human":2,"genomes":2,"conference":6,"computer":4,"communications":4,"security":15,"pp":15,"pseudorandom":6,"correlation":4,"generators":4,"ring":2,"chen":4,"huang":2,"laine":6,"labeled":4,"homomorphic":8,"encryption":8,"with":11,"malicious":2,"lie":2,"mannan":2,"backes":2,"wang":4,"eds":6,"oct":4,"doi":11,"fast":20,"private":15,"set":15,"intersection":15,"thuraisingham":2,"evans":2,"malkin":2,"xu":2,"nov":2,"kelong":2,"cong":2,"radames":2,"cruz":2,"moreno":2,"mariana":2,"botelho":2,"da":2,"gama":2,"wei":2,"dai":2,"ilia":2,"iliashenko":2,"kim":2,"michael":2,"rosenberg":2,"reduced":2,"communication":4,"proceedings":2,"the":12,"sigsac":2,"securitynovember":2,"srinivasan":6,"raghuraman":6,"oblivious":11,"transfer":2,"hardness":2,"decoding":2,"structured":2,"crypto2021":2,"differentially":2,"arxiv":9,"pdf":46,"costello":2,"longa":2,"four":2,"dimensional":2,"decompositions":2,"q":7,"curve":7,"over":2,"mersenne":7,"prime":4,"cryptology":4,"eprint":34,"archive":7,"report":4,"iacr":30,"fan":2,"vercauteren":2,"somewhat":2,"practical":2,"http":36,"bernardo":2,"matt":2,"tad":2,"enhancing":2,"privacy":13,"trust":2,"electronic":4,"communities":2,"commerce":2,"jarecki":2,"liu":2,"scn":2,"vol":4,"kolesnikov":2,"kumaresan":2,"rosulek":2,"trieu":2,"batched":7,"applications":7,"to":12,"more":8,"cryptographic":7,"matchmaking":7,"protocol":28,"for":15,"use":7,"absence":7,"continuously":7,"available":7,"third":7,"party":19,"ieee":11,"symposium":9,"april":2,"pinkas":2,"schneider":2,"zohner":2,"scalable":4,"based":2,"transactions":2,"tops":2,"resende":2,"aranha":2,"faster":2,"unbalanced":8,"meiklejohn":2,"sako":2,"fc2018":2,"heidelberg":2,"feb":2,"mar":2,"blazing":9,"improved":4,"subfield":2,"titouan":2,"tanguy":2,"convolute":2,"crypto2023":2,"phillipp":2,"schoppmann":4,"circuit":2,"eurocrypt2021":2,"release":2,"sep":2,"research":2,"redmond":2,"wa":2,"standards":2,"sec":7,"secg":9,"gascón":2,"reichert":2,"raykova":2,"distributed":2,"constructions":2,"implementation":2,"weng":2,"yang":2,"katz":2,"wolverine":2,"zero":2,"knowledge":2,"proofs":2,"boolean":2,"arithmetic":2,"circuits":2,"sp":7,"functions":4,"oprfs":2,"using":2,"order":2,"groups":2,"ietf":3,"id":13,"html":3,"this":2,"covers":1,"all":11,"buffers":1,"message":1,"as":2,"启":38,"动":19,"报":7,"告":8,"类":212,"描":167,"述":172,"threads":10,"uint32":145,"log_file":10,"string":290,"径":66,"bool":142,"控":10,"台":10,"log_level":10,"debug":12,"info":13,"warning":10,"error":10,"off":12,"query_file":5,"output_file":5,"params_file":16,"导":6,"致":11,"额":11,"experimental_enable_bucketize":15,"须":57,"experimental_bucket_cnt":11,"query_batch_size":5,"junfeng":2,"cli":11,"tab":2,"readme":6,"ov":2,"file":6,"command":2,"line":2,"interface":2,"db_file":17,"senderdb":30,"尝":13,"失":7,"败":7,"他":10,"忽":8,"略":8,"sdb_out_file":5,"gen_db_only":5,"true":21,"experimental_bucket_folder":15,"nonce_byte_count":5,"compress":5,"压":5,"缩":5,"减":5,"增":11,"save_db_only":5,"验":43,"独":5,"立":5,"experimental_db_generating_process_num":5,"int32":53,"source_file":7,"experimental_bucket_group_cnt":5,"match_cnt":5,"int64":43,"proto":42,"备":11,"java":20,"doubledoubledoublefloat":12,"floatfloatfloatfloat":8,"负":50,"sint32":16,"int32intint":24,"sint64":16,"int64longint":24,"long":48,"uint32intint":16,"uint64":44,"uint64longint":16,"号":38,"常":40,"fixed32":8,"四":23,"fixed64":8,"八":16,"sfixed32":8,"sfixed64":8,"boolboolbooleanboolean":8,"utf":8,"ascii":8,"stringstringstr":8,"unicode":8,"bytes":8,"stringbytestringstr":8,"double":16,"messages":8,"debugoptions":11,"ecdhconfig":8,"inputattr":17,"ioconfig":29,"kkrtconfig":8,"outputattr":17,"protocolconfig":11,"psiconfig":31,"recoveryconfig":12,"rr22config":8,"ubpsiconfig":24,"enums":2,"iotype":13,"advancedjointype":18,"role":44,"mode":51,"scalar":9,"value":20,"types":10,"等":20,"trace":7,"spdlog_level_trace":2,"spdlog_level_debug":2,"spdlog_level_info":2,"warn":2,"spdlog_level_warn":2,"err":2,"spdlog_level_error":2,"critical":2,"spdlog_level_critical":2,"spdlog_level_off":2,"logging_level":5,"trace_path":5,"踪":6,"tmp":27,"curvetype":24,"keys_unique":5,"唯":10,"false":7,"type":29,"path":15,"stringfile":3,"bucket_size":25,"完":12,"bucket":12,"csv_null_rep":5,"stringcsv":3,"null":5,"broadcast_result":29,"senderecdh_config":2,"ecdhconfigecdh":3,"kkrt_config":5,"kkrtconfigkkrt":3,"rr22_config":5,"rr22configrr22":3,"sender":65,"ecdh_config":3,"顶":1,"层":3,"run":1,"psireport":1,"advanced_join_type":21,"很":4,"inner":2,"例":22,"若":14,"receiver":55,"left":5,"after":4,"侧":8,"right":5,"full":7,"difference":6,"protocol_config":5,"input_config":10,"output_config":10,"keysrepeated":6,"debug_options":10,"debugoptionslogging":6,"level":10,"那":21,"证":48,"齐":11,"recovery_config":5,"left_side":10,"advanced_join_type_left_join":12,"advanced_join_type_right_join":12,"填":56,"check_hash_digest":5,"input_attr":10,"output_attr":10,"keys":4,"repeated":36,"logging":4,"网":24,"络":9,"近":1,"省":2,"磁":1,"盘":1,"enabled":8,"folder":8,"状":6,"configs":1,"low_comm_mode":5,"config":76,"当":53,"mode_offline_gen_cache":22,"server":32,"mode_offline":17,"mode_full":32,"client":17,"mode_online":22,"server_secret_key_path":5,"cache_path":5,"server_get_result":10,"client_get_result":10,"才":5,"todo":1,"io":1,"including":1,"oss":1,"sql":2,"etc":1,"namenumber":15,"io_type_unspecified0":3,"io_type_file_csv1":3,"name":18,"number":10,"io_type_unspecified":5,"io_type_file_csv":3,"protocol_unspecified0":3,"protocol_ecdh1":3,"oakland":5,"ca":17,"usa":5,"protocol_kkrt2efficient":3,"pdfprotocol_rr223blazing":2,"protocol_unspecified":2,"protocol_ecdh":2,"protocol_kkrt":2,"protocol_rr223blazing":1,"protocol_rr22":2,"duplicates_check":2,"advanced_join_type_unspecified0":3,"advanced_join_type_inner_join1":3,"advanced_join_type_left_join2":3,"advanced_join_type_right_join3":3,"advanced_join_type_full_join4":3,"advanced_join_type_difference5":3,"advanced_join_type_unspecified":5,"advanced_join_type_inner_join":3,"advanced_join_type_full_join":2,"advanced_join_type_difference":2,"角":6,"role_unspecified0":3,"role_receiver12":3,"role_sender22":3,"role_server32":3,"role_client4server":3,"2p":5,"clients":5,"own":5,"much":5,"smaller":5,"dataset":5,"role_unspecified":2,"role_receiver":2,"role_sender":2,"role_server":2,"role_client":2,"mode_unspecified0":3,"mode_offline_gen_cache1server":3,"cache":10,"offline":15,"mode_offline_transfer_cache2server":3,"把":5,"mode_offline3":3,"mode_online4":3,"online":5,"mode_full5":3,"mode_unspecified":2,"mode_offline_transfer_cache":2,"释":5,"消":5,"bucketpsiconfig":13,"dppsiparams":17,"inputparams":8,"memorypsiconfig":5,"outputparams":8,"psiresultreport":5,"枚":2,"举":2,"psitype":11,"psi_type":10,"psitypepsi":6,"receiver_rank":10,"播":10,"input_params":5,"inputparamspsi":3,"output_params":5,"outputparamspsi":3,"curve_type":10,"preprocess_path":5,"ecdh_secret_key_path":5,"dppsi_params":10,"bob_sub_sampling":5,"doublebob":3,"bernoulli_distribution":5,"概":5,"doubledp":3,"select_fieldsrepeated":3,"precheck":5,"select_fields":2,"need_sort":5,"按":9,"original_count":5,"intersection_count":5,"original_key_count":5,"int64noneintersection_key_count":2,"int64none":4,"none":12,"intersection_key_count":3,"curve_invalid_type0nonecurve_255191daniel":2,"curve_fourq2fourq":3,"维":5,"curve_sm23sm2":3,"ecc":5,"国":15,"家":5,"gbt":5,"curve_secp256k14":3,"学":5,"pdfcurve_25519_elligator25":2,"curve_invalid_type0none":1,"curve_invalid_type":2,"curve_255191daniel":1,"curve_25519":2,"curve_fourq":2,"curve_sm2":2,"curve_secp256k1":2,"curve_25519_elligator25":1,"curve_25519_elligator2":2,"invalid_psi_type0noneecdh_psi_2pc1":2,"psikkrt_psi_2pc2":2,"pdfecdh_psi_3pc4":2,"ecdh_psi_npc5":3,"迭":10,"kkrt_psi_npc6":3,"ecdh_oprf_ub_psi_2pc_gen_cache7":3,"均":26,"ecdh_oprf_ub_psi_2pc_transfer_cache8":3,"ecdh_oprf_ub_psi_2pc_offline9":3,"ecdh_oprf_ub_psi_2pc_online10":3,"ecdh_oprf_ub_psi_2pc_shuffle_online11":3,"dp_psi_2pc12":3,"见":15,"rr22_fast_psi_2pc13":3,"pdfrr22_lowcomm_psi_2pc14nonerr22_malicious_psi_2pc15none":2,"invalid_psi_type0none":1,"invalid_psi_type":2,"ecdh_psi_2pc1":1,"ecdh_psi_2pc":2,"kkrt_psi_2pc2":1,"kkrt_psi_2pc":2,"ecdh_psi_3pc4":1,"ecdh_psi_3pc":2,"ecdh_psi_npc":2,"kkrt_psi_npc":2,"ecdh_oprf_ub_psi_2pc_gen_cache":2,"ecdh_oprf_ub_psi_2pc_transfer_cache":2,"ecdh_oprf_ub_psi_2pc_offline":2,"ecdh_oprf_ub_psi_2pc_online":2,"ecdh_oprf_ub_psi_2pc_shuffle_online":2,"dp_psi_2pc":2,"rr22_fast_psi_2pc":2,"rr22_lowcomm_psi_2pc14none":1,"rr22_lowcomm_psi_2pc":2,"rr22_malicious_psi_2pc15none":1,"rr22_malicious_psi_2pc":2,"替":4,"总":9,"何":9,"launchconfig":12,"allocatedports":6,"clusterdefine":6,"port":17,"service":9,"taskinputconfig":16,"sfpsiconfigmapentry":11,"contextdescproto":15,"partyproto":11,"retryoptionsproto":9,"ssloptionsproto":9,"fieldtypedescriptionlink_config":1,"link":13,"self_link_party":5,"oneof":35,"runtime_config":27,"legacy_psi_config":7,"psi_config":5,"ub_psi_config":5,"apsi_sender_config":5,"apsisenderconfig":7,"apsi_receiver_config":5,"apsireceiverconfig":7,"fieldtypedescription":24,"field":25,"description":24,"link_config":4,"pod":8,"fieldtypedescriptionportsrepeated":1,"portsrepeated":2,"ports":2,"fieldtypedescriptionpartiesrepeated":1,"self_party_idx":5,"身":12,"self_endpoint_idx":5,"partiesrepeated":3,"parties":4,"fieldtypedescriptionname":2,"servicesrepeated":3,"servicepod":3,"services":2,"stringpod":3,"int32pod":3,"scope":5,"范":5,"围":5,"cluster":5,"domain":5,"local":10,"optionalprotocol":2,"grpc":5,"optional":8,"址":11,"fieldtypedescriptionport_name":1,"endpointsrepeated":3,"port_name":4,"endpoints":2,"fieldtypedescriptionsf_psi_config_mapmap":1,"sf_psi_config_mapmap":2,"sf_psi_config_map":2,"map":3,"fieldtypedescriptionkey":1,"fieldtypedescriptionid":2,"uuidpartiesrepeated":2,"世":5,"界":5,"connect_retry_times":5,"格":11,"connect_retry_interval_ms":5,"隔":20,"recv_timeout_ms":7,"超":10,"毫":8,"待":5,"特":6,"事":3,"束":2,"忙":2,"碌":1,"工":1,"爱":1,"丽":1,"丝":1,"仍":1,"做":1,"就":4,"抛":2,"异":2,"管":1,"鲍":1,"勃":1,"刚":1,"耗":1,"况":2,"拆":2,"起":2,"does":1,"affect":1,"performance":1,"please":1,"choose":2,"wisely":1,"http_timeout_ms":1,"throttle_window_size":1,"道":8,"sendasync":2,"阻":1,"塞":1,"brpc_channel_protocol":1,"brpc":7,"brpc_channel_connection_type":1,"enable_ssl":6,"ssl":6,"client_ssl_opts":4,"server_ssl_opts":4,"chunk_parallel_send_size":2,"retry_opts":1,"host":5,"fieldtypedescriptionmax_retry":1,"3retry_interval_ms":2,"retry_interval_incr_ms":5,"max_retry_interval_ms":5,"error_codesrepeated":3,"http_codesrepeated":3,"aggressive_retry":5,"激":5,"max_retry":4,"retry_interval_ms":3,"error_codes":2,"http_codes":2,"fieldtypedescriptioncertificate_path":1,"书":22,"private_key_path":8,"verify_depth":8,"深":6,"闭":5,"ca_file_path":8,"颁":5,"certificate_path":7,"notesc":3,"固":3,"bytesmay":2,"contain":2,"any":2,"arbitrary":2,"sequence":2,"notes":2,"废":4,"faq":4,"你":11,"拟":2,"佳":2,"1m":1,"充":3,"apsi_sender":1,"32c64g":1,"照":4,"没":3,"花":1,"费":1,"旨":2,"望":3,"疑":1,"ms":3,"十":1,"亿":1,"虑":1,"细":3,"receiver_input":10,"id0":10,"id1":10,"sender_input":10,"tree":35,"examples":35,"ecdh_server_offline":8,"ecdh_server_online":8,"ecdh_client_offline":8,"ecdh_client_online":8,"续":5,"index":5,"apsikeyword":3,"keyword":2,"简":1,"仔":1,"arguments":2,"似":1,"senders":4,"servers":1,"db":9,"头":4,"且":3,"psiparams":2,"receivers":4,"it":1,"not":1,"find":1,"suitable":1,"so":1,"provides":1,"some":1,"at":2,"parameters":9,"we":1,"have":1,"copy":1,"blob":4,"well":1,"you":1,"can":1,"refer":1,"here":2,"appropriate":1,"parameter":1,"根":1,"apsi_sender_setup":3,"recivers":1,"apsi_sender_online":3,"apsi_receiver":3,"演":1,"搜":2,"虽":1,"哪":1,"idx":1,"text":36,"ind_degree":9,"sender_data_rows":6,"bucket_num":9,"query_rows":6,"query_rows_per_bucket":6,"诺":1,"达":1,"停":1,"留":1,"资":3,"mtls":1,"example":3,"recovery":2,"is":2,"provided":2,"store":2,"checkpoints":2,"generate_psi":3,"py":3,"势":1,"威":6,"胁":6,"1ecdh":2,"2pcg_psi":2,"3mini":2,"pcg_psi":4,"mini":4,"刻":1,"画":1,"敌":10,"切":1,"勿":1,"环":1,"境":1,"遭":1,"benchmark":2,"code":2,"platinumcpu2":6,"248269cy":1,"50ghz":6,"donna4c40":3,"181s81":3,"227s163":3,"509s330":3,"466s666":3,"807s8c20":2,"682s42":3,"054s85":3,"272s173":3,"836s354":3,"842s16c11":2,"639s23":3,"670s48":3,"965s100":3,"903s208":3,"156s":5,"8269cy":5,"807s":3,"donna":2,"4c":4,"181s":2,"227s":2,"509s":2,"466s":2,"8c20":1,"842s":3,"8c":4,"682s":2,"054s":2,"272s":2,"836s":2,"16c11":1,"16c":4,"639s":2,"670s":2,"965s":2,"903s":2,"multi":2,"buffer":2,"248369b":1,"70ghzcurve25519":4,"4c7":3,"37s15":3,"32s31":3,"932s66":3,"802s139":3,"994s8c4":2,"3s9":3,"095s18":3,"919s40":3,"828s87":3,"649s16c2":2,"921s6":3,"081s13":3,"186s29":3,"614s65":3,"186s":7,"8369b":4,"994s":3,"70ghz":1,"37s":5,"32s":2,"932s":2,"802s":2,"8c4":1,"649s":3,"3s":2,"095s":2,"919s":2,"828s":2,"16c2":1,"921s":2,"081s":2,"614s":2,"游":1,"wondershaper":2,"10mbps":4,"10240kbps":1,"100mbps":4,"102400kbps":1,"1000mbps":1,"1024000kbps":1,"局":5,"012s0":15,"014s":10,"495s2":3,"474s10":3,"765s44":3,"368s100mbps":2,"024s0":3,"694s11":3,"048s46":3,"983s192":3,"37s10mbps":2,"016s0":3,"019s0":3,"0312s0":3,"018s":5,"434s100":3,"68s415":3,"94s1672":3,"21s":5,"012s":10,"368s":3,"495s":2,"474s":2,"765s":2,"024s":2,"694s":2,"048s":2,"983s":2,"016s":2,"019s":2,"0312s":2,"434s":2,"68s":2,"94s":2,"警":1},"type":{"fragment":167},"symbol.domain":{},"symbol.name":{},"symbol.module":{}},"avgFieldLength":{"url":7.92814371257485,"title":7.592814371257485,"content":286.8982035928144,"type":1,"symbol.domain":0,"symbol.name":0,"symbol.module":0},"fieldLengths":{"url":{"1":11,"2":7,"3":6,"4":8,"5":8,"6":8,"7":9,"8":9,"9":9,"10":9,"11":9,"12":9,"13":9,"14":8,"15":9,"16":9,"17":9,"18":9,"19":9,"20":9,"21":8,"22":7,"23":6,"24":7,"25":7,"26":8,"27":7,"28":6,"29":6,"30":6,"31":6,"32":6,"33":8,"34":6,"35":7,"36":7,"37":6,"38":7,"39":8,"40":6,"41":9,"42":8,"43":9,"44":8,"45":9,"46":8,"47":10,"48":8,"49":10,"50":7,"51":7,"52":8,"53":9,"54":7,"55":7,"56":7,"57":7,"58":7,"59":9,"60":9,"61":9,"62":7,"63":7,"64":7,"65":7,"66":7,"67":7,"68":7,"69":7,"70":7,"71":7,"72":7,"73":7,"74":7,"75":7,"76":7,"77":8,"78":7,"79":8,"80":9,"81":9,"82":9,"83":7,"84":7,"85":7,"86":7,"87":7,"88":7,"89":7,"90":7,"91":7,"92":7,"93":9,"94":8,"95":9,"96":7,"97":7,"98":7,"99":7,"100":7,"101":7,"102":7,"103":7,"104":7,"105":7,"106":8,"107":7,"108":7,"109":7,"110":7,"111":7,"112":7,"113":7,"114":9,"115":7,"116":8,"117":9,"118":8,"119":9,"120":10,"121":10,"122":9,"123":10,"124":9,"125":9,"126":10,"127":7,"128":9,"129":8,"130":10,"131":8,"132":9,"133":8,"134":8,"135":8,"136":8,"137":8,"138":9,"139":8,"140":10,"141":8,"142":9,"143":8,"144":8,"145":8,"146":10,"147":8,"148":8,"149":9,"150":9,"151":8,"152":9,"153":8,"154":8,"155":10,"156":10,"157":7,"158":10,"159":8,"160":10,"161":8,"162":8,"163":9,"164":7,"165":9,"166":9,"167":8},"title":{"1":11,"2":4,"3":6,"4":7,"5":7,"6":7,"7":8,"8":8,"9":8,"10":8,"11":8,"12":8,"13":8,"14":7,"15":8,"16":8,"17":8,"18":8,"19":8,"20":8,"21":7,"22":4,"23":8,"24":10,"25":11,"26":8,"27":6,"28":5,"29":5,"30":8,"31":5,"32":5,"33":11,"34":8,"35":10,"36":10,"37":5,"38":11,"39":8,"40":5,"41":5,"42":9,"43":11,"44":9,"45":12,"46":11,"47":13,"48":8,"49":11,"50":9,"51":2,"52":3,"53":5,"54":5,"55":9,"56":9,"57":8,"58":5,"59":8,"60":4,"61":6,"62":5,"63":5,"64":5,"65":5,"66":5,"67":5,"68":5,"69":5,"70":5,"71":5,"72":5,"73":5,"74":5,"75":5,"76":5,"77":6,"78":5,"79":6,"80":9,"81":4,"82":6,"83":6,"84":5,"85":5,"86":8,"87":5,"88":8,"89":5,"90":6,"91":5,"92":5,"93":9,"94":4,"95":6,"96":5,"97":5,"98":5,"99":5,"100":5,"101":5,"102":5,"103":5,"104":5,"105":5,"106":6,"107":5,"108":5,"109":5,"110":5,"111":5,"112":5,"113":5,"114":9,"115":4,"116":5,"117":12,"118":9,"119":11,"120":7,"121":7,"122":7,"123":11,"124":7,"125":7,"126":12,"127":6,"128":6,"129":9,"130":13,"131":9,"132":10,"133":10,"134":10,"135":5,"136":10,"137":10,"138":8,"139":10,"140":12,"141":8,"142":10,"143":8,"144":9,"145":9,"146":5,"147":9,"148":9,"149":6,"150":10,"151":10,"152":12,"153":8,"154":8,"155":12,"156":13,"157":10,"158":9,"159":14,"160":16,"161":12,"162":12,"163":13,"164":13,"165":15,"166":15,"167":13},"content":{"1":57,"2":0,"3":129,"4":112,"5":63,"6":120,"7":20,"8":32,"9":12,"10":20,"11":70,"12":18,"13":20,"14":76,"15":16,"16":10,"17":42,"18":124,"19":36,"20":136,"21":90,"22":902,"23":0,"24":0,"25":42,"26":13,"27":0,"28":40,"29":1418,"30":0,"31":196,"32":13,"33":9,"34":0,"35":0,"36":12,"37":70,"38":12,"39":26,"40":36,"41":164,"42":2637,"43":1194,"44":1202,"45":1836,"46":0,"47":3604,"48":5124,"49":1981,"50":1544,"51":69,"52":0,"53":104,"54":0,"55":915,"56":2248,"57":53,"58":0,"59":555,"60":0,"61":103,"62":0,"63":166,"64":128,"65":167,"66":86,"67":438,"68":149,"69":257,"70":774,"71":186,"72":453,"73":1023,"74":0,"75":71,"76":394,"77":255,"78":391,"79":298,"80":565,"81":0,"82":57,"83":0,"84":765,"85":115,"86":226,"87":402,"88":180,"89":201,"90":0,"91":613,"92":1805,"93":611,"94":27,"95":80,"96":0,"97":375,"98":0,"99":0,"100":62,"101":182,"102":204,"103":343,"104":119,"105":33,"106":49,"107":0,"108":0,"109":751,"110":42,"111":737,"112":419,"113":0,"114":609,"115":162,"116":13,"117":53,"118":118,"119":22,"120":23,"121":0,"122":23,"123":43,"124":6,"125":4,"126":0,"127":364,"128":0,"129":42,"130":423,"131":24,"132":13,"133":19,"134":465,"135":16,"136":143,"137":37,"138":0,"139":198,"140":48,"141":135,"142":244,"143":165,"144":28,"145":289,"146":24,"147":457,"148":232,"149":24,"150":59,"151":38,"152":22,"153":0,"154":0,"155":45,"156":0,"157":60,"158":13,"159":571,"160":50,"161":37,"162":28,"163":29,"164":15,"165":449,"166":446,"167":60},"type":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1},"symbol.domain":{},"symbol.name":{},"symbol.module":{}}},"docs":{"docs":{"1":{"url":"/psi/main/zh-CN/#welcome-to-secretflow-psi-library-s-documentation","type":"fragment","title":"欢迎查看SecretFlow PSI的相关文档","content":"该仓包含SecretFlow项目中隐私求交（PSI）和隐匿查询（PIR）相关的代码, SecretFlow , SCQL  和 SecretPad 的PSI功能都是通过本仓实现的。 SecretFlow SCQL SecretPad 本仓之前是 secretflow/spu 的一部分。 secretflow/spu  "},"2":{"url":"/psi/main/zh-CN/whatsnew#release-notes","type":"fragment","title":"发版说明","content":""},"3":{"url":"/psi/main/zh-CN/whatsnew#release","type":"fragment","title":"发版说明 - 发布","content":"\n注意：\n\n[Feature] 前缀表示新功能。\n[Bugfix] 前缀表示修复缺陷。\n[API] 前缀表示API变更。\n[Improvement] 前缀表示实现改进。\n\n 注意： \n[Feature] 前缀表示新功能。\n[Bugfix] 前缀表示修复缺陷。\n[API] 前缀表示API变更。\n[Improvement] 前缀表示实现改进。\n [Feature] 前缀表示新功能。 [Feature] [Bugfix] 前缀表示修复缺陷。 [Bugfix] [API] 前缀表示API变更。 [API] [Improvement] 前缀表示实现改进。 [Improvement] \n[API]  删除 psi_v2配置里的 skip_duplicates_check 。\n [API]  删除 psi_v2配置里的 skip_duplicates_check 。 skip_duplicates_check "},"4":{"url":"/psi/main/zh-CN/whatsnew#v0-5-0beta","type":"fragment","title":"发版说明 - v0.5.0beta","content":"\n[API] 删除旧版ub psi函数。\n[API] 可以指定输出csv的空值表示。\n[Feature] 支持单接收方的连接操作。\n[Feature] 支持使用ub psi协议进行连接操作。\n[Improvement] RR22 enhancement\n[Drop] ic_mode\n [API] 删除旧版ub psi函数。 [API] [API] 可以指定输出csv的空值表示。 [API] [Feature] 支持单接收方的连接操作。 [Feature] [Feature] 支持使用ub psi协议进行连接操作。 [Feature] [Improvement] RR22 enhancement [Drop] ic_mode "},"5":{"url":"/psi/main/zh-CN/whatsnew#v0-4-2beta","type":"fragment","title":"发版说明 - v0.3.0beta","content":"\n[API] pir experimental params\n[API] ecdh batch_size\n[Improvement] 重新移植APSI。\n[Improvement] 临时目录清理。\n[Improvement] 在pir中使用arrow csv读取器。\n [API] pir experimental params [API] ecdh batch_size batch_size [Improvement] 重新移植APSI。 [Improvement] 临时目录清理。 [Improvement] 在pir中使用arrow csv读取器。 "},"6":{"url":"/psi/main/zh-CN/whatsnew#v0-4-0beta","type":"fragment","title":"发版说明 - v0.4.0beta","content":"\n[API] 移除BC22协议\n[API] 为docker文件添加入口点。\n[API] 允许直接向main传递配置JSON。\n[Bugfix] 修复ic模式。\n[Bugfix] 修复RR22、SealPIR和APSI。\n[Improvement] 升级yacl至0.4.5b0版本。\n[Improvement] 更新xz的下载链接。\n [API] 移除BC22协议 [API] 为docker文件添加入口点。 [API] 允许直接向main传递配置JSON。 [Bugfix] 修复ic模式。 [Bugfix] 修复RR22、SealPIR和APSI。 [Improvement] 升级yacl至0.4.5b0版本。 [Improvement] 更新xz的下载链接。 "},"7":{"url":"/psi/main/zh-CN/whatsnew#v0-4-0-dev240801","type":"fragment","title":"发版说明 - v0.4.0.dev240801","content":"\n[Bugfix] 修复MacOS和arm构建问题。\n [Bugfix] 修复MacOS和arm构建问题。 "},"8":{"url":"/psi/main/zh-CN/whatsnew#v0-4-0-dev240731","type":"fragment","title":"发版说明 - v0.4.0.dev240731","content":"\n[Improvement] 重新移植APSI。\n[Feature] 添加分桶APSI。\n[API] 移除SealPIR。\n [Improvement] 重新移植APSI。 [Feature] 添加分桶APSI。 [API] 移除SealPIR。 "},"9":{"url":"/psi/main/zh-CN/whatsnew#v0-4-0-dev240521","type":"fragment","title":"发版说明 - v0.4.0.dev240521","content":"\n[API] 移除BC22协议\n [API] 移除BC22协议 "},"10":{"url":"/psi/main/zh-CN/whatsnew#v0-4-0-dev240517","type":"fragment","title":"发版说明 - v0.4.0.dev240517","content":"\n[Improvement] 升级yacl至0.4.5b0版本。\n [Improvement] 升级yacl至0.4.5b0版本。 "},"11":{"url":"/psi/main/zh-CN/whatsnew#v0-4-0-dev240514","type":"fragment","title":"发版说明 - v0.4.0.dev240514","content":"\n[API] 为docker文件添加入口点。\n[API] 允许直接向main传递配置JSON。\n[Bugfix] 修复ic模式。\n[Bugfix] 修复RR22、SealPIR和APSI。\n [API] 为docker文件添加入口点。 [API] 允许直接向main传递配置JSON。 [Bugfix] 修复ic模式。 [Bugfix] 修复RR22、SealPIR和APSI。 "},"12":{"url":"/psi/main/zh-CN/whatsnew#v0-4-0-dev240401","type":"fragment","title":"发版说明 - v0.4.0.dev240401","content":"\n[Improvement] 更新xz的下载链接。\n [Improvement] 更新xz的下载链接。 "},"13":{"url":"/psi/main/zh-CN/whatsnew#v0-4-0-dev240329","type":"fragment","title":"发版说明 - v0.4.0.dev240329","content":"\n[Improvement] 升级yacl至0.4.4b3版本。\n [Improvement] 升级yacl至0.4.4b3版本。 "},"14":{"url":"/psi/main/zh-CN/whatsnew#v0-3-0beta","type":"fragment","title":"发版说明 - v0.3.0beta","content":"\n[Improvement] 在系统临时文件夹中添加uuid。\n[Improvement] 在pir中使用arrow csv读取器。\n[Bugfix] 修复psi配置检查中的拼写错误。\n [Improvement] 在系统临时文件夹中添加uuid。 [Improvement] 在pir中使用arrow csv读取器。 [Bugfix] 修复psi配置检查中的拼写错误。 "},"15":{"url":"/psi/main/zh-CN/whatsnew#v0-3-0-dev240304","type":"fragment","title":"发版说明 - v0.3.0.dev240304","content":"\n[API] 在RunLegacyPsi API中暴露ic_mode。\n [API] 在RunLegacyPsi API中暴露ic_mode。 "},"16":{"url":"/psi/main/zh-CN/whatsnew#v0-3-0-dev240222","type":"fragment","title":"发版说明 - 0.3.0.dev240222","content":"\n[API] 暴露PIR API。\n [API] 暴露PIR API。 "},"17":{"url":"/psi/main/zh-CN/whatsnew#v0-3-0-dev240219","type":"fragment","title":"发版说明 - v0.3.0.dev240219","content":"\n[Feature] 添加用于调试的ecdh日志记录器。\n[API] 修改仓库结构。\n [Feature] 添加用于调试的ecdh日志记录器。 [API] 修改仓库结构。 "},"18":{"url":"/psi/main/zh-CN/whatsnew#v0-2-0-dev240123","type":"fragment","title":"发版说明 - v0.2.0.dev240123","content":"\n[Feature] 添加RFC9380 25519 elligator2 hash_to_curve。\n[Feature] 添加恶意vole psi。\n[API] 在PSI v2 API中暴露ub psi。\n[Improvement] 修改排序命令中的缓冲区大小。\n[Bugfix] 修复SimpleShuffledBatchProvider。\n[Bugfix] 修复psi_test中的不稳定性。\n[Bugfix] 修复rr22中的竞态条件。\n [Feature] 添加RFC9380 25519 elligator2 hash_to_curve。 [Feature] 添加恶意vole psi。 [API] 在PSI v2 API中暴露ub psi。 [Improvement] 修改排序命令中的缓冲区大小。 [Bugfix] 修复SimpleShuffledBatchProvider。 [Bugfix] 修复psi_test中的不稳定性。 [Bugfix] 修复rr22中的竞态条件。 "},"19":{"url":"/psi/main/zh-CN/whatsnew#v0-2-0-dev231228","type":"fragment","title":"发版说明 - v0.2.0.dev231228","content":"\n[Bugfix] 修复RR22竞态条件。\n[Improvement] 修改排序缓冲区大小。\n [Bugfix] 修复RR22竞态条件。 [Improvement] 修改排序缓冲区大小。 "},"20":{"url":"/psi/main/zh-CN/whatsnew#v0-2-0-dev231221","type":"fragment","title":"发版说明 - v0.2.0.dev231221","content":"\n[API] 将check_duplicates重命名为skip_duplicates_check。\n[API] 将sort_output重命名为disable_alignment。\n[Feature] 支持左连接、右连接和全连接。修改了求差集的功能。\n[Feature] 如果存在恢复检查点则跳过重复键检查。\n[Bugfix] 修复重复键检查。\n[Bugfix] 修复SyncWait。\n [API] 将check_duplicates重命名为skip_duplicates_check。 [API] 将sort_output重命名为disable_alignment。 [Feature] 支持左连接、右连接和全连接。修改了求差集的功能。 [Feature] 如果存在恢复检查点则跳过重复键检查。 [Bugfix] 修复重复键检查。 [Bugfix] 修复SyncWait。 "},"21":{"url":"/psi/main/zh-CN/whatsnew#v0-1-0beta","type":"fragment","title":"发版说明 - v0.1.0beta","content":"\n[API] 添加PSI v2 API。\n[Feature] 添加RR22协议。\n[Feature] 在v2 API中支持故障恢复。\n[Feature] 在v2 API中支持内连接。\n[Feature] 在v2 API中迁移ECDH、KKRT、RR22协议。\n [API] 添加PSI v2 API。 [Feature] 添加RR22协议。 [Feature] 在v2 API中支持故障恢复。 [Feature] 在v2 API中支持内连接。 [Feature] 在v2 API中迁移ECDH、KKRT、RR22协议。 "},"22":{"url":"/psi/main/zh-CN/getting_started#getting-started","type":"fragment","title":"入门指南","content":"欢迎使用 SecretFlow PSI 库。本库支持多种 PSI/PIR 的使用方式。 \nC++ 二进制文件：您可以自行编译，或直接使用官方发布的 Docker 镜像。\nPython 包\n\n\nSPU 封装了该库的 Python 接口，您可以通过 SPU 调用 PSI/PIR。\nSecretFlow 在 SPU 基础上进一步封装，提供了更易用的 API。\n\n\n\n相关应用\n\n\nSCQL 集成了此库以实现 JOIN 操作。\nSecretPad 提供 PSI 组件。\n\n\n\n C++ 二进制文件：您可以自行编译，或直接使用官方发布的 Docker 镜像。 Docker 镜像 Python 包\n\n\nSPU 封装了该库的 Python 接口，您可以通过 SPU 调用 PSI/PIR。\nSecretFlow 在 SPU 基础上进一步封装，提供了更易用的 API。\n\n\n \n\nSPU 封装了该库的 Python 接口，您可以通过 SPU 调用 PSI/PIR。\nSecretFlow 在 SPU 基础上进一步封装，提供了更易用的 API。\n\n \nSPU 封装了该库的 Python 接口，您可以通过 SPU 调用 PSI/PIR。\nSecretFlow 在 SPU 基础上进一步封装，提供了更易用的 API。\n SPU 封装了该库的 Python 接口，您可以通过 SPU 调用 PSI/PIR。 SPU SecretFlow 在 SPU 基础上进一步封装，提供了更易用的 API。 SecretFlow 相关应用\n\n\nSCQL 集成了此库以实现 JOIN 操作。\nSecretPad 提供 PSI 组件。\n\n\n \n\nSCQL 集成了此库以实现 JOIN 操作。\nSecretPad 提供 PSI 组件。\n\n \nSCQL 集成了此库以实现 JOIN 操作。\nSecretPad 提供 PSI 组件。\n SCQL 集成了此库以实现 JOIN 操作。 SCQL SecretPad 提供 PSI 组件。 SecretPad 关于 PSI，目前我们正在开发 v2 版本的 PSI， 并推荐您使用此版本。 PSI PSI v1 APIs(不推荐使用)PSI v2 APIs支持的协议ECDH, KKRT, ECDH_OPRF_UB, DP_PSI, RR22CDH, KKRT, RR22, ECDH_OPRF_UBCSV 解析器支持部分 CSV 文件基于 Apache Arrow，支持所有合法 CSV 文件故障恢复能力暂不支持支持支持重复键暂不支持支持已发布的 Docker 镜像暂未提供已提供支持 Python 绑定通过 SPU 实现通过 SPU 实现 PSI v1 APIs(不推荐使用)PSI v2 APIs PSI v1 APIs(不推荐使用)PSI v2 APIs  PSI v1 APIs(不推荐使用) PSI v1 APIs(不推荐使用) PSI v2 APIs PSI v2 APIs 支持的协议ECDH, KKRT, ECDH_OPRF_UB, DP_PSI, RR22CDH, KKRT, RR22, ECDH_OPRF_UBCSV 解析器支持部分 CSV 文件基于 Apache Arrow，支持所有合法 CSV 文件故障恢复能力暂不支持支持支持重复键暂不支持支持已发布的 Docker 镜像暂未提供已提供支持 Python 绑定通过 SPU 实现通过 SPU 实现 支持的协议ECDH, KKRT, ECDH_OPRF_UB, DP_PSI, RR22CDH, KKRT, RR22, ECDH_OPRF_UB 支持的协议 支持的协议 ECDH, KKRT, ECDH_OPRF_UB, DP_PSI, RR22 ECDH, KKRT, ECDH_OPRF_UB, DP_PSI, RR22 CDH, KKRT, RR22, ECDH_OPRF_UB CDH, KKRT, RR22, ECDH_OPRF_UB CSV 解析器支持部分 CSV 文件基于 Apache Arrow，支持所有合法 CSV 文件 CSV 解析器 CSV 解析器 支持部分 CSV 文件 支持部分 CSV 文件 基于 Apache Arrow，支持所有合法 CSV 文件 基于 Apache Arrow，支持所有合法 CSV 文件 故障恢复能力暂不支持支持 故障恢复能力 故障恢复能力 暂不支持 暂不支持 支持 支持 支持重复键暂不支持支持 支持重复键 支持重复键 暂不支持 暂不支持 支持 支持 已发布的 Docker 镜像暂未提供已提供 已发布的 Docker 镜像 已发布的 Docker 镜像 暂未提供 暂未提供 已提供 已提供 支持 Python 绑定通过 SPU 实现通过 SPU 实现 支持 Python 绑定 支持 Python 绑定 通过 SPU 实现 通过 SPU 实现 通过 SPU 实现 通过 SPU 实现 "},"23":{"url":"/psi/main/zh-CN/getting_started#installation","type":"fragment","title":"入门指南 - 安装说明","content":""},"24":{"url":"/psi/main/zh-CN/getting_started#c-binaries","type":"fragment","title":"入门指南 - C++ 二进制文件","content":""},"25":{"url":"/psi/main/zh-CN/getting_started#release-docker","type":"fragment","title":"入门指南 - 已发布的 Docker 镜像","content":"请查看官方发布镜像 dockerhub， 我们也提供了阿里云镜像: secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8。 dockerhub secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8 "},"26":{"url":"/psi/main/zh-CN/getting_started#building-from-source","type":"fragment","title":"入门指南 - 源码编译","content":"请参考文档：编译说明。 编译说明 "},"27":{"url":"/psi/main/zh-CN/getting_started#python-packages","type":"fragment","title":"入门指南 - Python 包","content":""},"28":{"url":"/psi/main/zh-CN/getting_started#id1","type":"fragment","title":"入门指南 - SPU","content":"请参考 SPU 安装指南。 SPU 安装指南 API 文档：https://www.secretflow.org.cn/zh-CN/docs/spu/main/reference/py_api https://www.secretflow.org.cn/zh-CN/docs/spu/main/reference/py_api "},"29":{"url":"/psi/main/zh-CN/getting_started#id2","type":"fragment","title":"入门指南 - SecretFlow","content":"请参考 SecretFlow 安装说明。 SecretFlow 安装说明 API 文档： \n\nPSI v1:\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv\n\n\n\nPSI v2:\nhttps://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2\n\n\n\nPIR:\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query\nPIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config\n\n\n\n组件列表：https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/component/comp_list#psi\n\n \nPSI v1:\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv\n\n PSI v1:\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv\n PSI v1:\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv\n PSI v1: PSI v1: PSI v1: \n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv\n \n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv\n (不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df (不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv (不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df (不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv \nPSI v2:\nhttps://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2\n\n PSI v2:\nhttps://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2\n PSI v2:\nhttps://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2\n PSI v2: PSI v2: PSI v2: \nhttps://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2\n \nhttps://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2\n https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2 https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2 \nPIR:\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query\nPIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config\n\n PIR:\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query\nPIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config\n PIR:\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query\nPIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config\n PIR: PIR: PIR: \n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query\nPIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config\n \n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query\nPIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config\n (已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup (已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query (已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query PIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config \n组件列表：https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/component/comp_list#psi\n 组件列表：https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/component/comp_list#psi https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/component/comp_list#psi "},"30":{"url":"/psi/main/zh-CN/getting_started#applications","type":"fragment","title":"入门指南 - 相关应用","content":""},"31":{"url":"/psi/main/zh-CN/getting_started#id3","type":"fragment","title":"入门指南 - SCQL","content":"请参考 SCQL 快速入门教程。 SCQL 快速入门教程 PSI 相关算子参考：\nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#in\nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#join\n PSI 相关算子参考：\nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#in\nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#join\n PSI 相关算子参考： PSI 相关算子参考： PSI 相关算子参考： \nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#in\nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#join\n \nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#in\nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#join\n https://www.secretflow.org.cn/en/docs/scql/main/reference/operators#in https://www.secretflow.org.cn/en/docs/scql/main/reference/operators#in https://www.secretflow.org.cn/en/docs/scql/main/reference/operators#join https://www.secretflow.org.cn/en/docs/scql/main/reference/operators#join "},"32":{"url":"/psi/main/zh-CN/getting_started#id4","type":"fragment","title":"入门指南 - SecretPad","content":"请参考 SecretPad 操作手册。 SecretPad 操作手册 "},"33":{"url":"/psi/main/zh-CN/getting_started#deprecated-easy-psi","type":"fragment","title":"入门指南 - (不推荐使用) Easy PSI","content":"请查看 Easy PSI handbook。 Easy PSI handbook "},"34":{"url":"/psi/main/zh-CN/getting_started#building","type":"fragment","title":"入门指南 - 编译说明","content":" "},"35":{"url":"/psi/main/zh-CN/getting_started#system-setup","type":"fragment","title":"入门指南 - 系统环境准备","content":""},"36":{"url":"/psi/main/zh-CN/getting_started#dev-docker","type":"fragment","title":"入门指南 - 开发版 Docker 镜像","content":"您可以使用 Docker 镜像进行编译:  "},"37":{"url":"/psi/main/zh-CN/getting_started#linux","type":"fragment","title":"入门指南 - Linux","content":"您需要安装如下依赖： \ngcc>=11.2\ncmake>=3.26\nninja\nnasm>=2.15\npython>=3.8\nbazel\ngolang\nxxd\nlld\nperl>=5.20.3.1\n gcc>=11.2 cmake>=3.26 ninja nasm>=2.15 python>=3.8 bazel golang xxd lld perl>=5.20.3.1 对于bazel，请查看 .bazeliskrc 中的版本，或者使用 bazelisk。 .bazeliskrc "},"38":{"url":"/psi/main/zh-CN/getting_started#build-unittest","type":"fragment","title":"入门指南 - 构建与单元测试","content":"我们使用 bazel 进行构建和测试：  "},"39":{"url":"/psi/main/zh-CN/getting_started#reporting-an-issue","type":"fragment","title":"入门指南 - 问题反馈","content":"请在 Github Issues 提交问题反馈。 Github Issues 我们会及时跟进并回复您的问题。 "},"40":{"url":"/psi/main/zh-CN/development#development","type":"fragment","title":"开发者指南","content":"原理、设计和性能对比相关的高级主题 \nPSI协议介绍\n \nPSI协议介绍\n PSI协议介绍 PSI协议介绍 "},"41":{"url":"/psi/main/zh-CN/development/psi_protocol_intro#psi-protocols-introduction","type":"fragment","title":"PSI协议介绍","content":"SecretFlow SPU实现了以下PSI协议： \n基于ECDH的半诚实两方PSI协议 [HFH99]\n基于半诚实模型的ECDH三方PSI协议\n基于半诚实模型的OT两方PSI协议 [KKRT16]\n差分隐私(DP)PSI协议 [DP-PSI]\n非平衡PSI协议\n基于VOLE的半诚实/恶意两方PSI协议 [RS21] [RR22]\n 基于ECDH的半诚实两方PSI协议 [HFH99] [HFH99] 基于半诚实模型的ECDH三方PSI协议 基于半诚实模型的OT两方PSI协议 [KKRT16] [KKRT16] 差分隐私(DP)PSI协议 [DP-PSI] [DP-PSI] 非平衡PSI协议 基于VOLE的半诚实/恶意两方PSI协议 [RS21] [RR22] [RS21] [RR22] "},"42":{"url":"/psi/main/zh-CN/development/psi_protocol_intro#ecdh-psi","type":"fragment","title":"PSI协议介绍 - ECDH-PSI协议","content":"半诚实DH-PSI协议由Huberman、Franklin和Hogg提出 [HFH99]，其理论基础可追溯至Meadows [Mea86]。该协议采用半诚实模型，所需进行的Diffie-Hellman群指数运算次数与集合元素数量成正比。 [HFH99] [Mea86] 一般而言，基于OT的PSI协议比基于Diffie-Hellman的协议速度更快，但需要更高的通信开销。在某些场景下，通信成本的重要性远高于计算成本。 基于DDH假设的DH-PSI协议实现步骤： \n协商选定群G及其生成元g\n假设：对于随机数a,b,c，无法区分 (ga,gb,gab)(g^a, g^b, g^{ab})(ga,gb,gab) 和 (ga,gb,gc)(g^a, g^b, g^c)(ga,gb,gc)\n 协商选定群G及其生成元g 假设：对于随机数a,b,c，无法区分 (ga,gb,gab)(g^a, g^b, g^{ab})(ga,gb,gab) 和 (ga,gb,gc)(g^a, g^b, g^c)(ga,gb,gc) (ga,gb,gab)(g^a, g^b, g^{ab})(ga,gb,gab) (ga,gb,gab)(g^a, g^b, g^{ab})(ga,gb,gab) (ga,gb,gab)(g^a, g^b, g^{ab}) (ga,gb,gab)(g^a, g^b, g^{ab}) (ga,gb,gab)(g^a, g^b, g^{ab}) (ga,gb,gab) ( ga g a , gb g b , gab g ab a b ) (g^a, g^b, g^{ab}) (ga,gb,gab) (ga,gb,gab)  ( ga g a a a a a  a a ,  gb g b b b b b  b b ,  gab g ab ab ab ab ab  ab ab ab ) (ga,gb,gc)(g^a, g^b, g^c)(ga,gb,gc) (ga,gb,gc)(g^a, g^b, g^c)(ga,gb,gc) (ga,gb,gc)(g^a, g^b, g^c) (ga,gb,gc)(g^a, g^b, g^c) (ga,gb,gc)(g^a, g^b, g^c) (ga,gb,gc) ( ga g a , gb g b , gc g c ) (g^a, g^b, g^c) (ga,gb,gc) (ga,gb,gc)  ( ga g a a a a a  a a ,  gb g b b b b b  b b ,  gc g c c c c c  c c ) 广泛使用的候选群包括有限域乘法群的子群和椭圆曲线群。在实践中，精心选择的椭圆曲线如Curve25519 [Ber06] 在安全性和性能之间提供了良好的平衡。 [Ber06]    \n对于集合中的每个元素 xix_ixi​，Alice 先应用哈希函数，然后用她的密钥 α\\alphaα 进行指数运算，从而计算出 H(xi)α{H(x_i)}^\\alphaH(xi​)α。Alice 将 {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1}{{H(xi​)}α}i=1n1​​ 发送给 Bob。\n对于从上一步Alice接收到的每个元素 H(xi)α{H(x_i)}^\\alphaH(xi​)α ，Bob使用其密钥 β\\betaβ 进行指数运算，计算得到 H(xi)αβ{H(x_i)}^{\\alpha\\beta}H(xi​)αβ 。Bob将 {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ 发送给Alice。\n对于集合中的每个元素 yiy_iyi​ ，Bob先应用哈希函数，然后使用其密钥 β\\betaβ 进行指数运算，计算得到 H(yi)β{H(y_i)}^\\betaH(yi​)β 。Bob将集合 {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2}{{H(yi​)}β}i=1n2​​ 发送给Alice。\n对于从Bob处接收到的每个元素 H(yi)β{H(y_i)}^\\betaH(yi​)β，Alice使用其密钥 α\\alphaα 对其进行指数运算，计算出 H(yi)βα{H(y_i)}^{\\beta\\alpha}H(yi​)βα。\nAlice比较两个集合 {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ 和 {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2}{{H(yi​)}βα}i=1n2​​ ，得到交集。\n 对于集合中的每个元素 xix_ixi​，Alice 先应用哈希函数，然后用她的密钥 α\\alphaα 进行指数运算，从而计算出 H(xi)α{H(x_i)}^\\alphaH(xi​)α。Alice 将 {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1}{{H(xi​)}α}i=1n1​​ 发送给 Bob。 xix_ixi​ xix_ixi​ xix_i xix_i xix_i xi xi x i x_i xi​ xi​  xi​ x i​ i​ i​ i i  i i ​    α\\alphaα α\\alphaα α\\alpha α\\alpha α\\alpha α α \\alpha α α  α H(xi)α{H(x_i)}^\\alphaH(xi​)α H(xi)α{H(x_i)}^\\alphaH(xi​)α H(xi)α{H(x_i)}^\\alpha H(xi)α{H(x_i)}^\\alpha H(xi)α{H(x_i)}^\\alpha H(xi)α H(xi)α H(xi) H ( xi x i ) α {H(x_i)}^\\alpha H(xi​)α H(xi​)α  H(xi​)α H(xi​) H ( xi​ x i​ i​ i​ i i  i i ​    ) α α α α α  α α {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1}{{H(xi​)}α}i=1n1​​ {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1}{{H(xi​)}α}i=1n1​​ {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1} {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1} {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1} {{H(xi)}α}i=1n1 { { H ( xi x i ) }α } α }i=1n1 } i=1 i = 1 n1 n 1 \\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1} {{H(xi​)}α}i=1n1​​ {{H(xi​)}α}i=1n1​​  {{ H ( xi​ x i​ i​ i​ i i  i i ​    ) }α } α α α α α  α α }i=1n1​​ } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    对于从上一步Alice接收到的每个元素 H(xi)α{H(x_i)}^\\alphaH(xi​)α ，Bob使用其密钥 β\\betaβ 进行指数运算，计算得到 H(xi)αβ{H(x_i)}^{\\alpha\\beta}H(xi​)αβ 。Bob将 {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ 发送给Alice。 H(xi)α{H(x_i)}^\\alphaH(xi​)α H(xi)α{H(x_i)}^\\alphaH(xi​)α H(xi)α{H(x_i)}^\\alpha H(xi)α{H(x_i)}^\\alpha H(xi)α{H(x_i)}^\\alpha H(xi)α H(xi)α H(xi) H ( xi x i ) α {H(x_i)}^\\alpha H(xi​)α H(xi​)α  H(xi​)α H(xi​) H ( xi​ x i​ i​ i​ i i  i i ​    ) α α α α α  α α β\\betaβ β\\betaβ β\\beta β\\beta β\\beta β β \\beta β β  β H(xi)αβ{H(x_i)}^{\\alpha\\beta}H(xi​)αβ H(xi)αβ{H(x_i)}^{\\alpha\\beta}H(xi​)αβ H(xi)αβ{H(x_i)}^{\\alpha\\beta} H(xi)αβ{H(x_i)}^{\\alpha\\beta} H(xi)αβ{H(x_i)}^{\\alpha\\beta} H(xi)αβ H(xi)αβ H(xi) H ( xi x i ) αβ α β {H(x_i)}^{\\alpha\\beta} H(xi​)αβ H(xi​)αβ  H(xi​)αβ H(xi​) H ( xi​ x i​ i​ i​ i i  i i ​    ) αβ αβ αβ αβ αβ  αβ αβ α β {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi)}αβ}i=1n1 {{H(xi)}αβ}i=1n1 {{H(xi)}αβ} { { H ( xi x i ) }αβ } αβ α β } i=1 i = 1 n1 n 1 {\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi​)}αβ}i=1n1​​ {{H(xi​)}αβ}i=1n1​​  {{H(xi​)}αβ}i=1n1​​ {{H(xi​)}αβ} {{ H ( xi​ x i​ i​ i​ i i  i i ​    ) }αβ } αβ αβ αβ αβ αβ  αβ αβ α β } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    对于集合中的每个元素 yiy_iyi​ ，Bob先应用哈希函数，然后使用其密钥 β\\betaβ 进行指数运算，计算得到 H(yi)β{H(y_i)}^\\betaH(yi​)β 。Bob将集合 {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2}{{H(yi​)}β}i=1n2​​ 发送给Alice。 yiy_iyi​ yiy_iyi​ yiy_i yiy_i yiy_i yi yi y i y_i yi​ yi​  yi​ y i​ i​ i​ i i  i i ​    β\\betaβ β\\betaβ β\\beta β\\beta β\\beta β β \\beta β β  β H(yi)β{H(y_i)}^\\betaH(yi​)β H(yi)β{H(y_i)}^\\betaH(yi​)β H(yi)β{H(y_i)}^\\beta H(yi)β{H(y_i)}^\\beta H(yi)β{H(y_i)}^\\beta H(yi)β H(yi)β H(yi) H ( yi y i ) β {H(y_i)}^\\beta H(yi​)β H(yi​)β  H(yi​)β H(yi​) H ( yi​ y i​ i​ i​ i i  i i ​    ) β β β β β  β β {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2}{{H(yi​)}β}i=1n2​​ {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2}{{H(yi​)}β}i=1n2​​ {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2} {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2} {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2} {{H(yi)}β}i=1n2 { { H ( yi y i ) }β } β }i=1n2 } i=1 i = 1 n2 n 2 \\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2} {{H(yi​)}β}i=1n2​​ {{H(yi​)}β}i=1n2​​  {{ H ( yi​ y i​ i​ i​ i i  i i ​    ) }β } β β β β β  β β }i=1n2​​ } i=1n2​​ i=1n2​​ i=1n2​​ i=1n2​ i=1  i=1 i=1 i = 1 n2​  n2​ n2​ n2​ n 2​ 2​ 2​ 2 2  2 2 ​    ​    对于从Bob处接收到的每个元素 H(yi)β{H(y_i)}^\\betaH(yi​)β，Alice使用其密钥 α\\alphaα 对其进行指数运算，计算出 H(yi)βα{H(y_i)}^{\\beta\\alpha}H(yi​)βα。 H(yi)β{H(y_i)}^\\betaH(yi​)β H(yi)β{H(y_i)}^\\betaH(yi​)β H(yi)β{H(y_i)}^\\beta H(yi)β{H(y_i)}^\\beta H(yi)β{H(y_i)}^\\beta H(yi)β H(yi)β H(yi) H ( yi y i ) β {H(y_i)}^\\beta H(yi​)β H(yi​)β  H(yi​)β H(yi​) H ( yi​ y i​ i​ i​ i i  i i ​    ) β β β β β  β β α\\alphaα α\\alphaα α\\alpha α\\alpha α\\alpha α α \\alpha α α  α H(yi)βα{H(y_i)}^{\\beta\\alpha}H(yi​)βα H(yi)βα{H(y_i)}^{\\beta\\alpha}H(yi​)βα H(yi)βα{H(y_i)}^{\\beta\\alpha} H(yi)βα{H(y_i)}^{\\beta\\alpha} H(yi)βα{H(y_i)}^{\\beta\\alpha} H(yi)βα H(yi)βα H(yi) H ( yi y i ) βα β α {H(y_i)}^{\\beta\\alpha} H(yi​)βα H(yi​)βα  H(yi​)βα H(yi​) H ( yi​ y i​ i​ i​ i i  i i ​    ) βα βα βα βα βα  βα βα β α Alice比较两个集合 {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ 和 {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2}{{H(yi​)}βα}i=1n2​​ ，得到交集。 {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi)}αβ}i=1n1 {{H(xi)}αβ}i=1n1 {{H(xi)}αβ} { { H ( xi x i ) }αβ } αβ α β } i=1 i = 1 n1 n 1 {\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi​)}αβ}i=1n1​​ {{H(xi​)}αβ}i=1n1​​  {{H(xi​)}αβ}i=1n1​​ {{H(xi​)}αβ} {{ H ( xi​ x i​ i​ i​ i i  i i ​    ) }αβ } αβ αβ αβ αβ αβ  αβ αβ α β } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2}{{H(yi​)}βα}i=1n2​​ {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2}{{H(yi​)}βα}i=1n2​​ {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2} {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2} {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2} {{H(yi)}βα}i=1n2 {{H(yi)}βα}i=1n2 {{H(yi)}βα} { { H ( yi y i ) }βα } βα β α } i=1 i = 1 n2 n 2 {\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2} {{H(yi​)}βα}i=1n2​​ {{H(yi​)}βα}i=1n2​​  {{H(yi​)}βα}i=1n2​​ {{H(yi​)}βα} {{ H ( yi​ y i​ i​ i​ i i  i i ​    ) }βα } βα βα βα βα βα  βα βα β α } i=1n2​​ i=1n2​​ i=1n2​​ i=1n2​ i=1  i=1 i=1 i = 1 n2​  n2​ n2​ n2​ n 2​ 2​ 2​ 2 2  2 2 ​    ​    SecretFlow SPU PSI模块支持的椭圆曲线群 椭圆曲线群参考实现加密库Curve25519曲线[Ber06]` LibSodium库 <https://doc.libsodium.org/>` _[ipp-crypto] (Intel® CPU support AVX-512 IFMA)Secp256k1曲线[SEC2-v2]` OpenSSL库 <https://www.openssl.org>` _SM2标准GB/T 32918.1-2016标准` OpenSSL库 <https://www.openssl.org>` _ISO/IEC 14888-3FourQ曲线[FourQ]` FourQ库 <https://github.com/microsoft/FourQlib>` _ 椭圆曲线群参考实现加密库 椭圆曲线群参考实现加密库 椭圆曲线群 椭圆曲线群 参考实现 参考实现 加密库 加密库 Curve25519曲线[Ber06]` LibSodium库 <https://doc.libsodium.org/>` _[ipp-crypto] (Intel® CPU support AVX-512 IFMA)Secp256k1曲线[SEC2-v2]` OpenSSL库 <https://www.openssl.org>` _SM2标准GB/T 32918.1-2016标准` OpenSSL库 <https://www.openssl.org>` _ISO/IEC 14888-3FourQ曲线[FourQ]` FourQ库 <https://github.com/microsoft/FourQlib>` _ Curve25519曲线[Ber06]` LibSodium库 <https://doc.libsodium.org/>` _ Curve25519曲线 Curve25519曲线 [Ber06] [Ber06] [Ber06] [Ber06] ` LibSodium库 <https://doc.libsodium.org/>` _ ` LibSodium库 <https://doc.libsodium.org/>` _ https://doc.libsodium.org/ [ipp-crypto] (Intel® CPU support AVX-512 IFMA) [ipp-crypto] (Intel® CPU support AVX-512 IFMA) [ipp-crypto] (Intel® CPU support AVX-512 IFMA) [ipp-crypto] [ipp-crypto] Secp256k1曲线[SEC2-v2]` OpenSSL库 <https://www.openssl.org>` _ Secp256k1曲线 Secp256k1曲线 [SEC2-v2] [SEC2-v2] [SEC2-v2] [SEC2-v2] ` OpenSSL库 <https://www.openssl.org>` _ ` OpenSSL库 <https://www.openssl.org>` _ https://www.openssl.org SM2标准GB/T 32918.1-2016标准` OpenSSL库 <https://www.openssl.org>` _ SM2标准 SM2标准 GB/T 32918.1-2016标准 GB/T 32918.1-2016标准 ` OpenSSL库 <https://www.openssl.org>` _ ` OpenSSL库 <https://www.openssl.org>` _ https://www.openssl.org ISO/IEC 14888-3 ISO/IEC 14888-3 ISO/IEC 14888-3 FourQ曲线[FourQ]` FourQ库 <https://github.com/microsoft/FourQlib>` _ FourQ曲线 FourQ曲线 [FourQ] [FourQ] [FourQ] [FourQ] ` FourQ库 <https://github.com/microsoft/FourQlib>` _ ` FourQ库 <https://github.com/microsoft/FourQlib>` _ https://github.com/microsoft/FourQlib "},"43":{"url":"/psi/main/zh-CN/development/psi_protocol_intro#ecdh-psi-3p","type":"fragment","title":"PSI协议介绍 - ECDH-PSI（三方协议）","content":"我们基于ECDH实现了自研的三方PSI协议。请注意该实现存在已知信息泄露风险，请谨慎使用。 假设Alice、Bob和接收方Charlie进行三方PSI协议，除最终结果外，该协议会向Charlie泄露Alice与Bob数据的交集大小。    注意在ECDH-PSI协议初始阶段，我们假设Alice和Charlie的输入数据已被随机打乱（无需打乱Bob的集合）。 协议流程： \n对于集合中的第i个元素，Alice计算 H(xi)αH(x_i)^\\alphaH(xi​)α 并发送给Bob。\n对于第i个元素，Bob计算 H(xi)αβH(x_i)^{\\alpha\\beta}H(xi​)αβ 和 H(yi)βH(y_i)^\\betaH(yi​)β， 然后随机打乱顺序发送给Alice。\n对于第i个元素，Alice计算 H(yi)αβH(y_i)^{\\alpha\\beta}H(yi​)αβ 并获取交集 H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta}H(xi​)αβ∩H(yi​)αβ (记作 IαβI^{\\alpha\\beta}Iαβ)，然后将 IαβI^{\\alpha\\beta}Iαβ 发送给Charlie。\n对于第i个元素，Charlie发送 H(zi)γH(z_i)^{\\gamma}H(zi​)γ 给Bob，Bob计算并发送 H(zi)βγH(z_i)^{\\beta\\gamma}H(zi​)βγ 给Alice，最后Alice计算并发送 H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ 给Charlie。\nCharlie计算 IαβγI^{\\alpha\\beta\\gamma}Iαβγ 并与 H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ 进行比较。\n 对于集合中的第i个元素，Alice计算 H(xi)αH(x_i)^\\alphaH(xi​)α 并发送给Bob。 H(xi)αH(x_i)^\\alphaH(xi​)α H(xi)αH(x_i)^\\alphaH(xi​)α H(xi)αH(x_i)^\\alpha H(xi)αH(x_i)^\\alpha H(xi)αH(x_i)^\\alpha H(xi)α H ( xi x i )α ) α H(x_i)^\\alpha H(xi​)α H(xi​)α  H ( xi​ x i​ i​ i​ i i  i i ​    )α ) α α α α α  α α 对于第i个元素，Bob计算 H(xi)αβH(x_i)^{\\alpha\\beta}H(xi​)αβ 和 H(yi)βH(y_i)^\\betaH(yi​)β， 然后随机打乱顺序发送给Alice。 H(xi)αβH(x_i)^{\\alpha\\beta}H(xi​)αβ H(xi)αβH(x_i)^{\\alpha\\beta}H(xi​)αβ H(xi)αβH(x_i)^{\\alpha\\beta} H(xi)αβH(x_i)^{\\alpha\\beta} H(xi)αβH(x_i)^{\\alpha\\beta} H(xi)αβ H ( xi x i )αβ ) αβ α β H(x_i)^{\\alpha\\beta} H(xi​)αβ H(xi​)αβ  H ( xi​ x i​ i​ i​ i i  i i ​    )αβ ) αβ αβ αβ αβ αβ  αβ αβ α β H(yi)βH(y_i)^\\betaH(yi​)β H(yi)βH(y_i)^\\betaH(yi​)β H(yi)βH(y_i)^\\beta H(yi)βH(y_i)^\\beta H(yi)βH(y_i)^\\beta H(yi)β H ( yi y i )β ) β H(y_i)^\\beta H(yi​)β H(yi​)β  H ( yi​ y i​ i​ i​ i i  i i ​    )β ) β β β β β  β β 对于第i个元素，Alice计算 H(yi)αβH(y_i)^{\\alpha\\beta}H(yi​)αβ 并获取交集 H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta}H(xi​)αβ∩H(yi​)αβ (记作 IαβI^{\\alpha\\beta}Iαβ)，然后将 IαβI^{\\alpha\\beta}Iαβ 发送给Charlie。 H(yi)αβH(y_i)^{\\alpha\\beta}H(yi​)αβ H(yi)αβH(y_i)^{\\alpha\\beta}H(yi​)αβ H(yi)αβH(y_i)^{\\alpha\\beta} H(yi)αβH(y_i)^{\\alpha\\beta} H(yi)αβH(y_i)^{\\alpha\\beta} H(yi)αβ H ( yi y i )αβ ) αβ α β H(y_i)^{\\alpha\\beta} H(yi​)αβ H(yi​)αβ  H ( yi​ y i​ i​ i​ i i  i i ​    )αβ ) αβ αβ αβ αβ αβ  αβ αβ α β H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta}H(xi​)αβ∩H(yi​)αβ H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta}H(xi​)αβ∩H(yi​)αβ H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta} H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta} H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta} H(xi)αβ∩H(yi)αβ H ( xi x i )αβ ) αβ α β ∩ H ( yi y i )αβ ) αβ α β H(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta} H(xi​)αβ∩H(yi​)αβ H(xi​)αβ∩  H ( xi​ x i​ i​ i​ i i  i i ​    )αβ ) αβ αβ αβ αβ αβ  αβ αβ α β  ∩  H(yi​)αβ  H ( yi​ y i​ i​ i​ i i  i i ​    )αβ ) αβ αβ αβ αβ αβ  αβ αβ α β IαβI^{\\alpha\\beta}Iαβ IαβI^{\\alpha\\beta}Iαβ IαβI^{\\alpha\\beta} IαβI^{\\alpha\\beta} IαβI^{\\alpha\\beta} Iαβ Iαβ I αβ α β I^{\\alpha\\beta} Iαβ Iαβ  Iαβ I αβ αβ αβ αβ αβ  αβ αβ α β IαβI^{\\alpha\\beta}Iαβ IαβI^{\\alpha\\beta}Iαβ IαβI^{\\alpha\\beta} IαβI^{\\alpha\\beta} IαβI^{\\alpha\\beta} Iαβ Iαβ I αβ α β I^{\\alpha\\beta} Iαβ Iαβ  Iαβ I αβ αβ αβ αβ αβ  αβ αβ α β 对于第i个元素，Charlie发送 H(zi)γH(z_i)^{\\gamma}H(zi​)γ 给Bob，Bob计算并发送 H(zi)βγH(z_i)^{\\beta\\gamma}H(zi​)βγ 给Alice，最后Alice计算并发送 H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ 给Charlie。 H(zi)γH(z_i)^{\\gamma}H(zi​)γ H(zi)γH(z_i)^{\\gamma}H(zi​)γ H(zi)γH(z_i)^{\\gamma} H(zi)γH(z_i)^{\\gamma} H(zi)γH(z_i)^{\\gamma} H(zi)γ H ( zi z i )γ ) γ H(z_i)^{\\gamma} H(zi​)γ H(zi​)γ  H ( zi​ z i​ i​ i​ i i  i i ​    )γ ) γ γ γ γ γ  γ γ γ H(zi)βγH(z_i)^{\\beta\\gamma}H(zi​)βγ H(zi)βγH(z_i)^{\\beta\\gamma}H(zi​)βγ H(zi)βγH(z_i)^{\\beta\\gamma} H(zi)βγH(z_i)^{\\beta\\gamma} H(zi)βγH(z_i)^{\\beta\\gamma} H(zi)βγ H ( zi z i )βγ ) βγ β γ H(z_i)^{\\beta\\gamma} H(zi​)βγ H(zi​)βγ  H ( zi​ z i​ i​ i​ i i  i i ​    )βγ ) βγ βγ βγ βγ βγ  βγ βγ β γ H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma} H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma} H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma} H(zi)αβγ H ( zi z i )αβγ ) αβγ α β γ H(z_i)^{\\alpha\\beta\\gamma} H(zi​)αβγ H(zi​)αβγ  H ( zi​ z i​ i​ i​ i i  i i ​    )αβγ ) αβγ αβγ αβγ αβγ αβγ  αβγ αβγ α β γ Charlie计算 IαβγI^{\\alpha\\beta\\gamma}Iαβγ 并与 H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ 进行比较。 IαβγI^{\\alpha\\beta\\gamma}Iαβγ IαβγI^{\\alpha\\beta\\gamma}Iαβγ IαβγI^{\\alpha\\beta\\gamma} IαβγI^{\\alpha\\beta\\gamma} IαβγI^{\\alpha\\beta\\gamma} Iαβγ Iαβγ I αβγ α β γ I^{\\alpha\\beta\\gamma} Iαβγ Iαβγ  Iαβγ I αβγ αβγ αβγ αβγ αβγ  αβγ αβγ α β γ H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma} H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma} H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma} H(zi)αβγ H ( zi z i )αβγ ) αβγ α β γ H(z_i)^{\\alpha\\beta\\gamma} H(zi​)αβγ H(zi​)αβγ  H ( zi​ z i​ i​ i​ i i  i i ​    )αβγ ) αβγ αβγ αβγ αβγ αβγ  αβγ αβγ α β γ "},"44":{"url":"/psi/main/zh-CN/development/psi_protocol_intro#kkrt16-psi","type":"fragment","title":"PSI协议介绍 - KKRT16-PSI协议","content":"[KKRT16]_是基于半诚实模型、OT扩展、BaRK-OPRF和布谷鸟哈希的PSI协议。该协议首次实现了在较大数据集（各集合包含 2242^{24}224 个128位长字符串）下仅需一分钟的PSI计算。 2242^{24}224 2242^{24}224 2242^{24} 2242^{24} 2242^{24} 224 224 2 24 2^{24} 224 224  224 2 24 24 24 24 24  24 24 24 我们采用 [PSZ18]_提出的无暂存区三路布谷鸟哈希方案。    \n发送方和接收方协商使用布谷鸟哈希函数 h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m]h1​,h2​,h3​:{0,1}∗→[m]\n接收方将每个x插入到桶 h1(x)h_1(x)h1​(x), h2(x)h_2(x)h2​(x) 或 h3(x)h_3(x)h3​(x) 中\n发送方将每个y插入到桶 h1(y)h_1(y)h1​(y), h2(y)h_2(y)h2​(y) 和 h3(y)h_3(y)h3​(y) 中\n执行BaRK-OPRF协议，接收方获取 Fs,ki(x)F_{s,k_i}(x)Fs,ki​​(x)，发送方获取 Fs,ki(y)F_{s,k_i}(y)Fs,ki​​(y)，针对 binibin_ibini​\n发送方将所有 {Fs,ki(y)}\\{F_{s,k_i}(y)\\}{Fs,ki​​(y)} 值发送给接收方\n接收方比较两个BaRK-OPRF集合并获取交集结果\n 发送方和接收方协商使用布谷鸟哈希函数 h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m]h1​,h2​,h3​:{0,1}∗→[m] h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m]h1​,h2​,h3​:{0,1}∗→[m] h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m]h1​,h2​,h3​:{0,1}∗→[m] h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m] h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m] h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m] h1,h2,h3:{0,1}∗→[m] h1 h 1 , h2 h 2 , h3 h 3 : {0,1}∗ {0,1} { 0 , 1 } ∗ → [ m ] h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m] h1​,h2​,h3​:{0,1}∗→[m] h1​,h2​,h3​:  h1​ h 1​ 1​ 1​ 1 1  1 1 ​    ,  h2​ h 2​ 2​ 2​ 2 2  2 2 ​    ,  h3​ h 3​ 3​ 3​ 3 3  3 3 ​     :  {0,1}∗→  {0,1}∗ {0,1} { 0 ,  1 } ∗ ∗ ∗ ∗ ∗  ∗ ∗ ∗  →  [m]  [ m ] 接收方将每个x插入到桶 h1(x)h_1(x)h1​(x), h2(x)h_2(x)h2​(x) 或 h3(x)h_3(x)h3​(x) 中 h1(x)h_1(x)h1​(x) h1(x)h_1(x)h1​(x) h1(x)h_1(x) h1(x)h_1(x) h1(x)h_1(x) h1(x) h1 h 1 ( x ) h_1(x) h1​(x) h1​(x)  h1​ h 1​ 1​ 1​ 1 1  1 1 ​    ( x ) h2(x)h_2(x)h2​(x) h2(x)h_2(x)h2​(x) h2(x)h_2(x) h2(x)h_2(x) h2(x)h_2(x) h2(x) h2 h 2 ( x ) h_2(x) h2​(x) h2​(x)  h2​ h 2​ 2​ 2​ 2 2  2 2 ​    ( x ) h3(x)h_3(x)h3​(x) h3(x)h_3(x)h3​(x) h3(x)h_3(x) h3(x)h_3(x) h3(x)h_3(x) h3(x) h3 h 3 ( x ) h_3(x) h3​(x) h3​(x)  h3​ h 3​ 3​ 3​ 3 3  3 3 ​    ( x ) 发送方将每个y插入到桶 h1(y)h_1(y)h1​(y), h2(y)h_2(y)h2​(y) 和 h3(y)h_3(y)h3​(y) 中 h1(y)h_1(y)h1​(y) h1(y)h_1(y)h1​(y) h1(y)h_1(y) h1(y)h_1(y) h1(y)h_1(y) h1(y) h1 h 1 ( y ) h_1(y) h1​(y) h1​(y)  h1​ h 1​ 1​ 1​ 1 1  1 1 ​    ( y ) h2(y)h_2(y)h2​(y) h2(y)h_2(y)h2​(y) h2(y)h_2(y) h2(y)h_2(y) h2(y)h_2(y) h2(y) h2 h 2 ( y ) h_2(y) h2​(y) h2​(y)  h2​ h 2​ 2​ 2​ 2 2  2 2 ​    ( y ) h3(y)h_3(y)h3​(y) h3(y)h_3(y)h3​(y) h3(y)h_3(y) h3(y)h_3(y) h3(y)h_3(y) h3(y) h3 h 3 ( y ) h_3(y) h3​(y) h3​(y)  h3​ h 3​ 3​ 3​ 3 3  3 3 ​    ( y ) 执行BaRK-OPRF协议，接收方获取 Fs,ki(x)F_{s,k_i}(x)Fs,ki​​(x)，发送方获取 Fs,ki(y)F_{s,k_i}(y)Fs,ki​​(y)，针对 binibin_ibini​ Fs,ki(x)F_{s,k_i}(x)Fs,ki​​(x) Fs,ki(x)F_{s,k_i}(x)Fs,ki​​(x) Fs,ki(x)F_{s,k_i}(x) Fs,ki(x)F_{s,k_i}(x) Fs,ki(x)F_{s,k_i}(x) Fs,ki(x) Fs,ki F s,ki s , ki k i ( x ) F_{s,k_i}(x) Fs,ki​​(x) Fs,ki​​(x)  Fs,ki​​ F s,ki​​ s,ki​​ s,ki​​ s,ki​ s,ki​  s,ki​ s,ki​ s , ki​ k i​ i​ i​ i i  i i ​    ​    ( x ) Fs,ki(y)F_{s,k_i}(y)Fs,ki​​(y) Fs,ki(y)F_{s,k_i}(y)Fs,ki​​(y) Fs,ki(y)F_{s,k_i}(y) Fs,ki(y)F_{s,k_i}(y) Fs,ki(y)F_{s,k_i}(y) Fs,ki(y) Fs,ki F s,ki s , ki k i ( y ) F_{s,k_i}(y) Fs,ki​​(y) Fs,ki​​(y)  Fs,ki​​ F s,ki​​ s,ki​​ s,ki​​ s,ki​ s,ki​  s,ki​ s,ki​ s , ki​ k i​ i​ i​ i i  i i ​    ​    ( y ) binibin_ibini​ binibin_ibini​ binibin_i binibin_i binibin_i bini b i ni n i bin_i bini​ bini​  bi ni​ n i​ i​ i​ i i  i i ​    发送方将所有 {Fs,ki(y)}\\{F_{s,k_i}(y)\\}{Fs,ki​​(y)} 值发送给接收方 {Fs,ki(y)}\\{F_{s,k_i}(y)\\}{Fs,ki​​(y)} {Fs,ki(y)}\\{F_{s,k_i}(y)\\}{Fs,ki​​(y)} {Fs,ki(y)}\\{F_{s,k_i}(y)\\} {Fs,ki(y)}\\{F_{s,k_i}(y)\\} {Fs,ki(y)}\\{F_{s,k_i}(y)\\} {Fs,ki(y)} { Fs,ki F s,ki s , ki k i ( y ) } \\{F_{s,k_i}(y)\\} {Fs,ki​​(y)} {Fs,ki​​(y)}  { Fs,ki​​ F s,ki​​ s,ki​​ s,ki​​ s,ki​ s,ki​  s,ki​ s,ki​ s , ki​ k i​ i​ i​ i i  i i ​    ​    ( y )} 接收方比较两个BaRK-OPRF集合并获取交集结果 "},"45":{"url":"/psi/main/zh-CN/development/psi_protocol_intro#differentially-private-psi","type":"fragment","title":"PSI协议介绍 - 差分隐私PSI协议","content":"我们还实现了差分隐私(DP)的隐私集合求交(PSI)协议。我们的实现基于ECDH-PSI，并提供以下功能： \n差分隐私的PSI结果。\n 差分隐私的PSI结果。 此功能目前处于测试阶段，使用时请自行承担风险！ 为什么要使用差分隐私的PSI结果？如果我们想要一个既能保护输入隐私又能保护输出隐私的方案，理想的方式是使用 电路PSI ，这是一种典型的PSI变体，允许对PSI结果进行安全计算(如MPC或HE)而不泄露结果。PSTY19 然而这些协议在效率方面代价较高。 电路PSI PSTY19 DP-PSI是一种利用上采样和下采样机制向PSI结果添加校准噪声的方法，而不泄露其精确值。 协议流程如下，假设Alice有一个(经过哈希和洗牌的)集合 XXX，Bob有一个(经过哈希和洗牌的)集合 YYY。 XXX XXX XX XX XX X X X X X  X YYY YYY YY YY YY Y Y Y Y Y  Y    注意，我们使用\"加密\"来表示计算 y←xay\\gets x^ay←xa 的过程。 y←xay\\gets x^ay←xa y←xay\\gets x^ay←xa y←xay\\gets x^a y←xay\\gets x^a y←xay\\gets x^a y←xa y ← xa x a y\\gets x^a y←xa y←  y  ←  xa  xa x a a a a a  a a 协议流程： \nAlice和Bob首先分别加密自己的数据集，分别得到 XaX^aXa 和 YbY^bYb 。\nAlice将 XaX^aXa 发送给Bob。\nBob对 YbY^bYb 进行随机下采样，得到 Y∗bY_*^bY∗b​ 并发送给Alice。与此同时，在收到Alice的 XaX^aXa 后，Bob使用 bbb 重新加密得到 XabX^{ab}Xab 。接着，Bob生成一个随机置换 π\\piπ 来排列Alice的集合，并将排列后的 π(Xab)\\pi(X^{ab})π(Xab) 返回给Alice。\n在收到Bob发送的 Y∗bY_*^bY∗b​ 和 π(Xab)\\pi(X^{ab})π(Xab) 后，Alice重新加密 Y∗bY_*^bY∗b​ 得到 Y∗abY_*^{ab}Y∗ab​ ，然后计算两者的交集 I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab}I∗ab​←π(Xab)∩Y∗ab​ 。\nAlice对交集进行随机下采样，得到 I∗∗abI_{**}^{ab}I∗∗ab​ ，然后找到它们在 Y∗bY_*^bY∗b​ 中的对应索引。接着随机添加非交集的索引到该集合中。\nAlice将索引集合发送给Bob，随后Bob揭示最终结果。\n Alice和Bob首先分别加密自己的数据集，分别得到 XaX^aXa 和 YbY^bYb 。 XaX^aXa XaX^aXa XaX^a XaX^a XaX^a Xa Xa X a X^a Xa Xa  Xa X a a a a a  a a YbY^bYb YbY^bYb YbY^b YbY^b YbY^b Yb Yb Y b Y^b Yb Yb  Yb Y b b b b b  b b Alice将 XaX^aXa 发送给Bob。 XaX^aXa XaX^aXa XaX^a XaX^a XaX^a Xa Xa X a X^a Xa Xa  Xa X a a a a a  a a Bob对 YbY^bYb 进行随机下采样，得到 Y∗bY_*^bY∗b​ 并发送给Alice。与此同时，在收到Alice的 XaX^aXa 后，Bob使用 bbb 重新加密得到 XabX^{ab}Xab 。接着，Bob生成一个随机置换 π\\piπ 来排列Alice的集合，并将排列后的 π(Xab)\\pi(X^{ab})π(Xab) 返回给Alice。 YbY^bYb YbY^bYb YbY^b YbY^b YbY^b Yb Yb Y b Y^b Yb Yb  Yb Y b b b b b  b b Y∗bY_*^bY∗b​ Y∗bY_*^bY∗b​ Y∗bY_*^b Y∗bY_*^b Y∗bY_*^b Y∗b Y∗b Y ∗ b Y_*^b Y∗b​ Y∗b​  Y∗b​ Y ∗b​ ∗b​ ∗b​ ∗b ∗  ∗ ∗ b  b b ​    XaX^aXa XaX^aXa XaX^a XaX^a XaX^a Xa Xa X a X^a Xa Xa  Xa X a a a a a  a a bbb bbb bb bb bb b b b b b  b XabX^{ab}Xab XabX^{ab}Xab XabX^{ab} XabX^{ab} XabX^{ab} Xab Xab X ab a b X^{ab} Xab Xab  Xab X ab ab ab ab ab  ab ab ab π\\piπ π\\piπ π\\pi π\\pi π\\pi π π \\pi π π  π π(Xab)\\pi(X^{ab})π(Xab) π(Xab)\\pi(X^{ab})π(Xab) π(Xab)\\pi(X^{ab}) π(Xab)\\pi(X^{ab}) π(Xab)\\pi(X^{ab}) π(Xab) π ( Xab X ab a b ) \\pi(X^{ab}) π(Xab) π(Xab)  π ( Xab X ab ab ab ab ab  ab ab ab ) 在收到Bob发送的 Y∗bY_*^bY∗b​ 和 π(Xab)\\pi(X^{ab})π(Xab) 后，Alice重新加密 Y∗bY_*^bY∗b​ 得到 Y∗abY_*^{ab}Y∗ab​ ，然后计算两者的交集 I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab}I∗ab​←π(Xab)∩Y∗ab​ 。 Y∗bY_*^bY∗b​ Y∗bY_*^bY∗b​ Y∗bY_*^b Y∗bY_*^b Y∗bY_*^b Y∗b Y∗b Y ∗ b Y_*^b Y∗b​ Y∗b​  Y∗b​ Y ∗b​ ∗b​ ∗b​ ∗b ∗  ∗ ∗ b  b b ​    π(Xab)\\pi(X^{ab})π(Xab) π(Xab)\\pi(X^{ab})π(Xab) π(Xab)\\pi(X^{ab}) π(Xab)\\pi(X^{ab}) π(Xab)\\pi(X^{ab}) π(Xab) π ( Xab X ab a b ) \\pi(X^{ab}) π(Xab) π(Xab)  π ( Xab X ab ab ab ab ab  ab ab ab ) Y∗bY_*^bY∗b​ Y∗bY_*^bY∗b​ Y∗bY_*^b Y∗bY_*^b Y∗bY_*^b Y∗b Y∗b Y ∗ b Y_*^b Y∗b​ Y∗b​  Y∗b​ Y ∗b​ ∗b​ ∗b​ ∗b ∗  ∗ ∗ b  b b ​    Y∗abY_*^{ab}Y∗ab​ Y∗abY_*^{ab}Y∗ab​ Y∗abY_*^{ab} Y∗abY_*^{ab} Y∗abY_*^{ab} Y∗ab Y∗ab Y ∗ ab a b Y_*^{ab} Y∗ab​ Y∗ab​  Y∗ab​ Y ∗ab​ ∗ab​ ∗ab​ ∗ab ∗  ∗ ∗ ab  ab ab ab ​    I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab}I∗ab​←π(Xab)∩Y∗ab​ I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab}I∗ab​←π(Xab)∩Y∗ab​ I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab} I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab} I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab} I∗ab←π(Xab)∩Y∗ab I∗ab I ∗ ab a b ← π ( Xab X ab a b ) ∩ Y∗ab Y ∗ ab a b I_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab} I∗ab​←π(Xab)∩Y∗ab​ I∗ab​←  I∗ab​ I ∗ab​ ∗ab​ ∗ab​ ∗ab ∗  ∗ ∗ ab  ab ab ab ​     ←  π(Xab)∩  π ( Xab X ab ab ab ab ab  ab ab ab )  ∩  Y∗ab​  Y∗ab​ Y ∗ab​ ∗ab​ ∗ab​ ∗ab ∗  ∗ ∗ ab  ab ab ab ​    Alice对交集进行随机下采样，得到 I∗∗abI_{**}^{ab}I∗∗ab​ ，然后找到它们在 Y∗bY_*^bY∗b​ 中的对应索引。接着随机添加非交集的索引到该集合中。 I∗∗abI_{**}^{ab}I∗∗ab​ I∗∗abI_{**}^{ab}I∗∗ab​ I∗∗abI_{**}^{ab} I∗∗abI_{**}^{ab} I∗∗abI_{**}^{ab} I∗∗ab I∗∗ab I ∗∗ ∗ ∗ ab a b I_{**}^{ab} I∗∗ab​ I∗∗ab​  I∗∗ab​ I ∗∗ab​ ∗∗ab​ ∗∗ab​ ∗∗ab ∗∗  ∗∗ ∗∗ ∗∗ ab  ab ab ab ​    Y∗bY_*^bY∗b​ Y∗bY_*^bY∗b​ Y∗bY_*^b Y∗bY_*^b Y∗bY_*^b Y∗b Y∗b Y ∗ b Y_*^b Y∗b​ Y∗b​  Y∗b​ Y ∗b​ ∗b​ ∗b​ ∗b ∗  ∗ ∗ b  b b ​    Alice将索引集合发送给Bob，随后Bob揭示最终结果。 最终，该方案确保接收方(Bob)只能获知带有噪声的交集结果，而无法确定某个元素是否真正属于实际交集。 请注意，多次调用DP-PSI协议不可避免地会削弱隐私保护强度，因此我们强烈建议用户实现保护机制，防止对相同输入值进行多次DP-PSI计算。 Intel(R) Xeon(R) Platinum处理器2^202^212^222^232^24DP-PSI协议9.806秒20.134秒42.067秒86.580秒170.359秒 Intel(R) Xeon(R) Platinum处理器2^202^212^222^232^24 Intel(R) Xeon(R) Platinum处理器2^202^212^222^232^24 Intel(R) Xeon(R) Platinum处理器 Intel(R) Xeon(R) Platinum处理器 2^20 2^20 2^21 2^21 2^22 2^22 2^23 2^23 2^24 2^24 DP-PSI协议9.806秒20.134秒42.067秒86.580秒170.359秒 DP-PSI协议9.806秒20.134秒42.067秒86.580秒170.359秒 DP-PSI协议 DP-PSI协议 9.806秒 9.806秒 20.134秒 20.134秒 42.067秒 42.067秒 86.580秒 86.580秒 170.359秒 170.359秒 对于差分隐私，默认的隐私保护强度为 ϵ=3\\epsilon=3ϵ=3 。如需更多详情，请参阅原论文: [DP-PSI] ϵ=3\\epsilon=3ϵ=3 ϵ=3\\epsilon=3ϵ=3 ϵ=3\\epsilon=3 ϵ=3\\epsilon=3 ϵ=3\\epsilon=3 ϵ=3 ϵ = 3 \\epsilon=3 ϵ=3 ϵ=  ϵ  =  3  3 [DP-PSI] "},"46":{"url":"/psi/main/zh-CN/development/psi_protocol_intro#unbalanced-psi","type":"fragment","title":"PSI协议介绍 - 非平衡PSI协议","content":""},"47":{"url":"/psi/main/zh-CN/development/psi_protocol_intro#ecdh-oprf-based-psi","type":"fragment","title":"PSI协议介绍 - 基于Ecdh-OPRF的PSI协议","content":"[RA18] 第3节介绍了由 [BBCD+11] 提出的基于Ecdh-OPRF的基础非对称PSI协议。该协议放宽了 [JL10] 的安全性要求，使其能够抵御半诚实攻击者。该协议分为两个阶段：预处理阶段和在线阶段。作者提出了多项优化，尽可能将计算和通信成本转移到预处理阶段。 [RA18] [BBCD+11] [JL10] 不经意伪随机函数(OPRF)是客户端和服务器之间用于计算伪随机函数(PRF)输出的双方协议。 [draft-irtf-cfrg-voprf-10] 规定了基于素数阶群构建的OPRF、VOPRF和POPRF协议。 [draft-irtf-cfrg-voprf-10]    \n离线阶段\n\n对于集合中的每个元素 yiy_iyi​ ，Bob使用私钥 β\\betaβ 应用伪随机函数（PRF），即计算 H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta)H2​(yi​,H1​(yi​)β) 。\nBob以打乱的顺序将 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ 发送给Alice。\n\n\n在线阶段\n\n对于集合中的每个元素 xix_ixi​ ，Alice先应用哈希函数，再使用盲化密钥 rir_iri​ 进行指数运算，从而得到 H1(xi)ri{H_1(x_i)}^{r_i}H1​(xi​)ri​ 。Alice将 {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1}{{H1​(xi​)}ri​}i=1n1​​ 发送给Bob。\n对于从Alice接收到的每个元素 H1(xi)riH_1(x_i)^{r_i}H1​(xi​)ri​ ，Bob使用密钥 β\\betaβ 进行指数运算，得到 H1(xi)riβ{H_1(x_i)}^{r_i\\beta}H1​(xi​)ri​β 。Bob将 {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}{ri​}β}i=1n1​​ 发送给Alice。\nAlice从Bob处接收 {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}ri​β}i=1n1​​ ，使用 rir_iri​ 解盲后得到 {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1}{{{H1​(xi​)}β}}i=1n1​​ ，并计算OPRF {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 。\nAlice比较两个集合 {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 和 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ ，从而得到交集。\n\n\n 离线阶段\n\n对于集合中的每个元素 yiy_iyi​ ，Bob使用私钥 β\\betaβ 应用伪随机函数（PRF），即计算 H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta)H2​(yi​,H1​(yi​)β) 。\nBob以打乱的顺序将 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ 发送给Alice。\n\n \n对于集合中的每个元素 yiy_iyi​ ，Bob使用私钥 β\\betaβ 应用伪随机函数（PRF），即计算 H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta)H2​(yi​,H1​(yi​)β) 。\nBob以打乱的顺序将 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ 发送给Alice。\n 对于集合中的每个元素 yiy_iyi​ ，Bob使用私钥 β\\betaβ 应用伪随机函数（PRF），即计算 H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta)H2​(yi​,H1​(yi​)β) 。 yiy_iyi​ yiy_iyi​ yiy_i yiy_i yiy_i yi yi y i y_i yi​ yi​  yi​ y i​ i​ i​ i i  i i ​    β\\betaβ β\\betaβ β\\beta β\\beta β\\beta β β \\beta β β  β H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta)H2​(yi​,H1​(yi​)β) H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta)H2​(yi​,H1​(yi​)β) H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta) H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta) H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta) H2(yi,H1(yi)β) H2 H 2 ( yi y i , H1(yi)β H1(yi) H1 H 1 ( yi y i ) β ) H_2(y_i, {H_1(y_i)}^\\beta) H2​(yi​,H1​(yi​)β) H2​(yi​,H1​(yi​)β)  H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( yi​ y i​ i​ i​ i i  i i ​    ,  H1​(yi​)β H1​(yi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( yi​ y i​ i​ i​ i i  i i ​    ) β β β β β  β β ) Bob以打乱的顺序将 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ 发送给Alice。 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2(yi,H1(yi)β)}}i=1n2 { { H2 H 2 ( yi y i , H1(yi)β H1(yi) H1 H 1 ( yi y i ) β ) } }i=1n2 } i=1 i = 1 n2 n 2 \\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2​(yi​,H1​(yi​)β)}}i=1n2​​ {{H2​(yi​,H1​(yi​)β)}}i=1n2​​  {{ H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( yi​ y i​ i​ i​ i i  i i ​    ,  H1​(yi​)β H1​(yi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( yi​ y i​ i​ i​ i i  i i ​    ) β β β β β  β β )} }i=1n2​​ } i=1n2​​ i=1n2​​ i=1n2​​ i=1n2​ i=1  i=1 i=1 i = 1 n2​  n2​ n2​ n2​ n 2​ 2​ 2​ 2 2  2 2 ​    ​    在线阶段\n\n对于集合中的每个元素 xix_ixi​ ，Alice先应用哈希函数，再使用盲化密钥 rir_iri​ 进行指数运算，从而得到 H1(xi)ri{H_1(x_i)}^{r_i}H1​(xi​)ri​ 。Alice将 {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1}{{H1​(xi​)}ri​}i=1n1​​ 发送给Bob。\n对于从Alice接收到的每个元素 H1(xi)riH_1(x_i)^{r_i}H1​(xi​)ri​ ，Bob使用密钥 β\\betaβ 进行指数运算，得到 H1(xi)riβ{H_1(x_i)}^{r_i\\beta}H1​(xi​)ri​β 。Bob将 {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}{ri​}β}i=1n1​​ 发送给Alice。\nAlice从Bob处接收 {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}ri​β}i=1n1​​ ，使用 rir_iri​ 解盲后得到 {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1}{{{H1​(xi​)}β}}i=1n1​​ ，并计算OPRF {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 。\nAlice比较两个集合 {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 和 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ ，从而得到交集。\n\n \n对于集合中的每个元素 xix_ixi​ ，Alice先应用哈希函数，再使用盲化密钥 rir_iri​ 进行指数运算，从而得到 H1(xi)ri{H_1(x_i)}^{r_i}H1​(xi​)ri​ 。Alice将 {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1}{{H1​(xi​)}ri​}i=1n1​​ 发送给Bob。\n对于从Alice接收到的每个元素 H1(xi)riH_1(x_i)^{r_i}H1​(xi​)ri​ ，Bob使用密钥 β\\betaβ 进行指数运算，得到 H1(xi)riβ{H_1(x_i)}^{r_i\\beta}H1​(xi​)ri​β 。Bob将 {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}{ri​}β}i=1n1​​ 发送给Alice。\nAlice从Bob处接收 {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}ri​β}i=1n1​​ ，使用 rir_iri​ 解盲后得到 {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1}{{{H1​(xi​)}β}}i=1n1​​ ，并计算OPRF {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 。\nAlice比较两个集合 {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 和 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ ，从而得到交集。\n 对于集合中的每个元素 xix_ixi​ ，Alice先应用哈希函数，再使用盲化密钥 rir_iri​ 进行指数运算，从而得到 H1(xi)ri{H_1(x_i)}^{r_i}H1​(xi​)ri​ 。Alice将 {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1}{{H1​(xi​)}ri​}i=1n1​​ 发送给Bob。 xix_ixi​ xix_ixi​ xix_i xix_i xix_i xi xi x i x_i xi​ xi​  xi​ x i​ i​ i​ i i  i i ​    rir_iri​ rir_iri​ rir_i rir_i rir_i ri ri r i r_i ri​ ri​  ri​ r i​ i​ i​ i i  i i ​    H1(xi)ri{H_1(x_i)}^{r_i}H1​(xi​)ri​ H1(xi)ri{H_1(x_i)}^{r_i}H1​(xi​)ri​ H1(xi)ri{H_1(x_i)}^{r_i} H1(xi)ri{H_1(x_i)}^{r_i} H1(xi)ri{H_1(x_i)}^{r_i} H1(xi)ri H1(xi)ri H1(xi) H1 H 1 ( xi x i ) ri r i {H_1(x_i)}^{r_i} H1​(xi​)ri​ H1​(xi​)ri​  H1​(xi​)ri​ H1​(xi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) ri​ ri​ ri​ ri​ ri​  ri​ ri​ ri​ r i​ i​ i​ i i  i i ​    {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1}{{H1​(xi​)}ri​}i=1n1​​ {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1}{{H1​(xi​)}ri​}i=1n1​​ {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1} {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1} {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1} {{H1(xi)}ri}i=1n1 { { H1 H 1 ( xi x i ) }ri } ri r i }i=1n1 } i=1 i = 1 n1 n 1 \\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1} {{H1​(xi​)}ri​}i=1n1​​ {{H1​(xi​)}ri​}i=1n1​​  {{ H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) }ri​ } ri​ ri​ ri​ ri​ ri​  ri​ ri​ ri​ r i​ i​ i​ i i  i i ​    }i=1n1​​ } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    对于从Alice接收到的每个元素 H1(xi)riH_1(x_i)^{r_i}H1​(xi​)ri​ ，Bob使用密钥 β\\betaβ 进行指数运算，得到 H1(xi)riβ{H_1(x_i)}^{r_i\\beta}H1​(xi​)ri​β 。Bob将 {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}{ri​}β}i=1n1​​ 发送给Alice。 H1(xi)riH_1(x_i)^{r_i}H1​(xi​)ri​ H1(xi)riH_1(x_i)^{r_i}H1​(xi​)ri​ H1(xi)riH_1(x_i)^{r_i} H1(xi)riH_1(x_i)^{r_i} H1(xi)riH_1(x_i)^{r_i} H1(xi)ri H1 H 1 ( xi x i )ri ) ri r i H_1(x_i)^{r_i} H1​(xi​)ri​ H1​(xi​)ri​  H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    )ri​ ) ri​ ri​ ri​ ri​ ri​  ri​ ri​ ri​ r i​ i​ i​ i i  i i ​    β\\betaβ β\\betaβ β\\beta β\\beta β\\beta β β \\beta β β  β H1(xi)riβ{H_1(x_i)}^{r_i\\beta}H1​(xi​)ri​β H1(xi)riβ{H_1(x_i)}^{r_i\\beta}H1​(xi​)ri​β H1(xi)riβ{H_1(x_i)}^{r_i\\beta} H1(xi)riβ{H_1(x_i)}^{r_i\\beta} H1(xi)riβ{H_1(x_i)}^{r_i\\beta} H1(xi)riβ H1(xi)riβ H1(xi) H1 H 1 ( xi x i ) riβ ri r i β {H_1(x_i)}^{r_i\\beta} H1​(xi​)ri​β H1​(xi​)ri​β  H1​(xi​)ri​β H1​(xi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) ri​β ri​β ri​β ri​β ri​β  ri​β ri​β ri​ r i​ i​ i​ i i  i i ​    β {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}{ri​}β}i=1n1​​ {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}{ri​}β}i=1n1​​ {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1} {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1} {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1} {{H1(xi)}{ri}β}i=1n1 {{H1(xi)}{ri}β}i=1n1 {{H1(xi)}{ri}β} { { H1 H 1 ( xi x i ) }{ri}β } {ri}β { ri r i } β } i=1 i = 1 n1 n 1 {\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1} {{H1​(xi​)}{ri​}β}i=1n1​​ {{H1​(xi​)}{ri​}β}i=1n1​​  {{H1​(xi​)}{ri​}β}i=1n1​​ {{H1​(xi​)}{ri​}β} {{ H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) }{ri​}β } {ri​}β {ri​}β {ri​}β {ri​}β {ri​}β  {ri​}β {ri​}β { ri​ r i​ i​ i​ i i  i i ​    } β } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    Alice从Bob处接收 {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}ri​β}i=1n1​​ ，使用 rir_iri​ 解盲后得到 {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1}{{{H1​(xi​)}β}}i=1n1​​ ，并计算OPRF {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 。 {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}ri​β}i=1n1​​ {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}ri​β}i=1n1​​ {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1} {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1} {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1} {{H1(xi)}riβ}i=1n1 {{H1(xi)}riβ}i=1n1 {{H1(xi)}riβ} { { H1 H 1 ( xi x i ) }riβ } riβ ri r i β } i=1 i = 1 n1 n 1 {\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1} {{H1​(xi​)}ri​β}i=1n1​​ {{H1​(xi​)}ri​β}i=1n1​​  {{H1​(xi​)}ri​β}i=1n1​​ {{H1​(xi​)}ri​β} {{ H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) }ri​β } ri​β ri​β ri​β ri​β ri​β  ri​β ri​β ri​ r i​ i​ i​ i i  i i ​    β } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    rir_iri​ rir_iri​ rir_i rir_i rir_i ri ri r i r_i ri​ ri​  ri​ r i​ i​ i​ i i  i i ​    {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1}{{{H1​(xi​)}β}}i=1n1​​ {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1}{{{H1​(xi​)}β}}i=1n1​​ {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1} {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1} {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1} {{{H1(xi)}β}}i=1n1 { { { H1 H 1 ( xi x i ) }β } β } }i=1n1 } i=1 i = 1 n1 n 1 \\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1} {{{H1​(xi​)}β}}i=1n1​​ {{{H1​(xi​)}β}}i=1n1​​  {{{ H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) }β } β β β β β  β β } }i=1n1​​ } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2(xi,H1(xi)β)}}i=1n1 { { H2 H 2 ( xi x i , H1(xi)β H1(xi) H1 H 1 ( xi x i ) β ) } }i=1n1 } i=1 i = 1 n1 n 1 \\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2​(xi​,H1​(xi​)β)}}i=1n1​​ {{H2​(xi​,H1​(xi​)β)}}i=1n1​​  {{ H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( xi​ x i​ i​ i​ i i  i i ​    ,  H1​(xi​)β H1​(xi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) β β β β β  β β )} }i=1n1​​ } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    Alice比较两个集合 {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 和 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ ，从而得到交集。 {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2(xi,H1(xi)β)}}i=1n1 { { H2 H 2 ( xi x i , H1(xi)β H1(xi) H1 H 1 ( xi x i ) β ) } }i=1n1 } i=1 i = 1 n1 n 1 \\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2​(xi​,H1​(xi​)β)}}i=1n1​​ {{H2​(xi​,H1​(xi​)β)}}i=1n1​​  {{ H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( xi​ x i​ i​ i​ i i  i i ​    ,  H1​(xi​)β H1​(xi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) β β β β β  β β )} }i=1n1​​ } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2(yi,H1(yi)β)}}i=1n2 { { H2 H 2 ( yi y i , H1(yi)β H1(yi) H1 H 1 ( yi y i ) β ) } }i=1n2 } i=1 i = 1 n2 n 2 \\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2​(yi​,H1​(yi​)β)}}i=1n2​​ {{H2​(yi​,H1​(yi​)β)}}i=1n2​​  {{ H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( yi​ y i​ i​ i​ i i  i i ​    ,  H1​(yi​)β H1​(yi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( yi​ y i​ i​ i​ i i  i i ​    ) β β β β β  β β )} }i=1n2​​ } i=1n2​​ i=1n2​​ i=1n2​​ i=1n2​ i=1  i=1 i=1 i = 1 n2​  n2​ n2​ n2​ n 2​ 2​ 2​ 2 2  2 2 ​    ​    "},"48":{"url":"/psi/main/zh-CN/development/psi_protocol_intro#labeled-psi","type":"fragment","title":"PSI协议介绍 - 标签PSI","content":"部分同态加密（SHE）可用于在不平衡设置中构建高效的（带标签的）隐私集合求交协议，其中一方的集合远大于另一方。 [CMGD+21] 对 [CLR17] 和 [CHLR18] 中的协议进行了多项优化和改进，从而在发送方集合规模上实现了更优的运行时间和通信复杂度。 [CMGD+21] [CLR17] [CHLR18] 微软的 APSI (Asymmetric PSI)  库基于最新研究 [CMGD+21]，为非对称集合规模提供了PSI功能。APSI使用在微软 [SEAL]_库中实现的BFV( [FV12])加密方案。 APSI (Asymmetric PSI) [CMGD+21] [FV12] SecretFlow SPU封装了 APSI 库，可用于 APSI \n非平衡PSI协议\n恶意模型PSI协议\n标签PSI\n关键词PIR（私有信息检索）\n 非平衡PSI协议 恶意模型PSI协议 标签PSI 关键词PIR（私有信息检索）    \n设置阶段\n\n\n选择 ItemParams、TableParams、QueryParams、SEALParams。\n\n发送方的OPRF：发送方为OPRF采样一个密钥 β\\betaβ ，并将物品集合更新为 {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S}{{H2​(si​,H1​(si​)β)}}si​∈S​ 。\n发送方的哈希处理：发送方将所有 si∈Ss_i \\in Ssi​∈S 插入到集合 B[h0(si)]\\mathcal{B}[h_0(s_i)]B[h0​(si​)] 、 B[h1(si)]\\mathcal{B}[h_1(s_i)]B[h1​(si​)] 和 B[h2(si)]\\mathcal{B}[h_2(s_i)]B[h2​(si​)] 中。\n分割：对于每个集合 B[i]\\mathcal{B}[i]B[i] ，发送方将其分割为bin bundles，表示为 B[i,1]\\mathcal{B}[i,1]B[i,1] 到 B[i,k]\\mathcal{B}[i,k]B[i,k] 。\n计算系数：\n\n匹配多项式：对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上计算匹配多项式。\n标签多项式：如果发送方的集合关联有标签，则对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上插值标签多项式。\n\n\n\n\n交集阶段\n\n接收方加密 ri∈Rr_i \\in Rri​∈R 。\n\n接收方的OPRF：接收方和发送方运行ecdh-OPRF协议，获得 {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ 。\n接收方的布谷鸟哈希：接收方使用h1、h2、h3哈希函数将集合 RRR 哈希到具有m个桶的布谷鸟表 C中。\n打包处理：接收方将布谷鸟表C中的项打包成FHE明文多项式。\n窗口化处理：接收方计算分量级查询幂。\n加密：接收方使用 FHE.Encrypt 加密查询幂，并将密文发送给发送方。\n\n\n发送方同态评估匹配多项式：发送方接收密文集合并同态评估匹配多项式。如果需要标记PSI，发送方还会同态评估标签多项式。发送方将评估后的密文发送给接收方。\n接收方解密并获取结果：接收方接收并解密匹配密文，必要时解密标签密文，输出匹配集合和标签。\n\n\n 设置阶段\n\n\n选择 ItemParams、TableParams、QueryParams、SEALParams。\n\n发送方的OPRF：发送方为OPRF采样一个密钥 β\\betaβ ，并将物品集合更新为 {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S}{{H2​(si​,H1​(si​)β)}}si​∈S​ 。\n发送方的哈希处理：发送方将所有 si∈Ss_i \\in Ssi​∈S 插入到集合 B[h0(si)]\\mathcal{B}[h_0(s_i)]B[h0​(si​)] 、 B[h1(si)]\\mathcal{B}[h_1(s_i)]B[h1​(si​)] 和 B[h2(si)]\\mathcal{B}[h_2(s_i)]B[h2​(si​)] 中。\n分割：对于每个集合 B[i]\\mathcal{B}[i]B[i] ，发送方将其分割为bin bundles，表示为 B[i,1]\\mathcal{B}[i,1]B[i,1] 到 B[i,k]\\mathcal{B}[i,k]B[i,k] 。\n计算系数：\n\n匹配多项式：对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上计算匹配多项式。\n标签多项式：如果发送方的集合关联有标签，则对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上插值标签多项式。\n\n\n\n \n\n选择 ItemParams、TableParams、QueryParams、SEALParams。\n\n发送方的OPRF：发送方为OPRF采样一个密钥 β\\betaβ ，并将物品集合更新为 {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S}{{H2​(si​,H1​(si​)β)}}si​∈S​ 。\n发送方的哈希处理：发送方将所有 si∈Ss_i \\in Ssi​∈S 插入到集合 B[h0(si)]\\mathcal{B}[h_0(s_i)]B[h0​(si​)] 、 B[h1(si)]\\mathcal{B}[h_1(s_i)]B[h1​(si​)] 和 B[h2(si)]\\mathcal{B}[h_2(s_i)]B[h2​(si​)] 中。\n分割：对于每个集合 B[i]\\mathcal{B}[i]B[i] ，发送方将其分割为bin bundles，表示为 B[i,1]\\mathcal{B}[i,1]B[i,1] 到 B[i,k]\\mathcal{B}[i,k]B[i,k] 。\n计算系数：\n\n匹配多项式：对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上计算匹配多项式。\n标签多项式：如果发送方的集合关联有标签，则对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上插值标签多项式。\n\n\n \n选择 ItemParams、TableParams、QueryParams、SEALParams。\n 选择 ItemParams、TableParams、QueryParams、SEALParams。 发送方的OPRF：发送方为OPRF采样一个密钥 β\\betaβ ，并将物品集合更新为 {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S}{{H2​(si​,H1​(si​)β)}}si​∈S​ 。 发送方的OPRF β\\betaβ β\\betaβ β\\beta β\\beta β\\beta β β \\beta β β  β {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S}{{H2​(si​,H1​(si​)β)}}si​∈S​ {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S}{{H2​(si​,H1​(si​)β)}}si​∈S​ {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S} {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S} {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S} {{H2(si,H1(si)β)}}si∈S { { H2 H 2 ( si s i , H1(si)β H1(si) H1 H 1 ( si s i ) β ) } }si∈S } si∈S si s i ∈ S \\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S} {{H2​(si​,H1​(si​)β)}}si​∈S​ {{H2​(si​,H1​(si​)β)}}si​∈S​  {{ H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( si​ s i​ i​ i​ i i  i i ​    ,  H1​(si​)β H1​(si​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( si​ s i​ i​ i​ i i  i i ​    ) β β β β β  β β )} }si​∈S​ } si​∈S​ si​∈S​ si​∈S​ si​∈S si​∈S  si​∈S si​∈S si​ s i​ i​ i​ i i  i i ​    ∈ S ​    发送方的哈希处理：发送方将所有 si∈Ss_i \\in Ssi​∈S 插入到集合 B[h0(si)]\\mathcal{B}[h_0(s_i)]B[h0​(si​)] 、 B[h1(si)]\\mathcal{B}[h_1(s_i)]B[h1​(si​)] 和 B[h2(si)]\\mathcal{B}[h_2(s_i)]B[h2​(si​)] 中。 发送方的哈希处理 si∈Ss_i \\in Ssi​∈S si∈Ss_i \\in Ssi​∈S si∈Ss_i \\in S si∈Ss_i \\in S si∈Ss_i \\in S si∈S si s i ∈ S s_i \\in S si​∈S si​∈  si​ s i​ i​ i​ i i  i i ​     ∈  S  S B[h0(si)]\\mathcal{B}[h_0(s_i)]B[h0​(si​)] B[h0(si)]\\mathcal{B}[h_0(s_i)]B[h0​(si​)] B[h0(si)]\\mathcal{B}[h_0(s_i)] B[h0(si)]\\mathcal{B}[h_0(s_i)] B[h0(si)]\\mathcal{B}[h_0(s_i)] B[h0(si)] B [ h0 h 0 ( si s i ) ] \\mathcal{B}[h_0(s_i)] B[h0​(si​)] B[h0​(si​)]  B [ h0​ h 0​ 0​ 0​ 0 0  0 0 ​    ( si​ s i​ i​ i​ i i  i i ​    )] B[h1(si)]\\mathcal{B}[h_1(s_i)]B[h1​(si​)] B[h1(si)]\\mathcal{B}[h_1(s_i)]B[h1​(si​)] B[h1(si)]\\mathcal{B}[h_1(s_i)] B[h1(si)]\\mathcal{B}[h_1(s_i)] B[h1(si)]\\mathcal{B}[h_1(s_i)] B[h1(si)] B [ h1 h 1 ( si s i ) ] \\mathcal{B}[h_1(s_i)] B[h1​(si​)] B[h1​(si​)]  B [ h1​ h 1​ 1​ 1​ 1 1  1 1 ​    ( si​ s i​ i​ i​ i i  i i ​    )] B[h2(si)]\\mathcal{B}[h_2(s_i)]B[h2​(si​)] B[h2(si)]\\mathcal{B}[h_2(s_i)]B[h2​(si​)] B[h2(si)]\\mathcal{B}[h_2(s_i)] B[h2(si)]\\mathcal{B}[h_2(s_i)] B[h2(si)]\\mathcal{B}[h_2(s_i)] B[h2(si)] B [ h2 h 2 ( si s i ) ] \\mathcal{B}[h_2(s_i)] B[h2​(si​)] B[h2​(si​)]  B [ h2​ h 2​ 2​ 2​ 2 2  2 2 ​    ( si​ s i​ i​ i​ i i  i i ​    )] 分割：对于每个集合 B[i]\\mathcal{B}[i]B[i] ，发送方将其分割为bin bundles，表示为 B[i,1]\\mathcal{B}[i,1]B[i,1] 到 B[i,k]\\mathcal{B}[i,k]B[i,k] 。 分割 B[i]\\mathcal{B}[i]B[i] B[i]\\mathcal{B}[i]B[i] B[i]\\mathcal{B}[i] B[i]\\mathcal{B}[i] B[i]\\mathcal{B}[i] B[i] B [ i ] \\mathcal{B}[i] B[i] B[i]  B [ i ] B[i,1]\\mathcal{B}[i,1]B[i,1] B[i,1]\\mathcal{B}[i,1]B[i,1] B[i,1]\\mathcal{B}[i,1] B[i,1]\\mathcal{B}[i,1] B[i,1]\\mathcal{B}[i,1] B[i,1] B [ i , 1 ] \\mathcal{B}[i,1] B[i,1] B[i,1]  B [ i ,  1 ] B[i,k]\\mathcal{B}[i,k]B[i,k] B[i,k]\\mathcal{B}[i,k]B[i,k] B[i,k]\\mathcal{B}[i,k] B[i,k]\\mathcal{B}[i,k] B[i,k]\\mathcal{B}[i,k] B[i,k] B [ i , k ] \\mathcal{B}[i,k] B[i,k] B[i,k]  B [ i ,  k ] 计算系数：\n\n匹配多项式：对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上计算匹配多项式。\n标签多项式：如果发送方的集合关联有标签，则对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上插值标签多项式。\n\n 计算系数 \n匹配多项式：对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上计算匹配多项式。\n标签多项式：如果发送方的集合关联有标签，则对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上插值标签多项式。\n 匹配多项式：对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上计算匹配多项式。 匹配多项式 B[i,j]\\mathcal{B}[i,j]B[i,j] B[i,j]\\mathcal{B}[i,j]B[i,j] B[i,j]\\mathcal{B}[i,j] B[i,j]\\mathcal{B}[i,j] B[i,j]\\mathcal{B}[i,j] B[i,j] B [ i , j ] \\mathcal{B}[i,j] B[i,j] B[i,j]  B [ i ,  j ] Ft\\mathbb{F}_tFt​ Ft\\mathbb{F}_tFt​ Ft\\mathbb{F}_t Ft\\mathbb{F}_t Ft\\mathbb{F}_t Ft Ft F t \\mathbb{F}_t Ft​ Ft​  Ft​ F t​ t​ t​ t t  t t ​    标签多项式：如果发送方的集合关联有标签，则对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上插值标签多项式。 标签多项式 B[i,j]\\mathcal{B}[i,j]B[i,j] B[i,j]\\mathcal{B}[i,j]B[i,j] B[i,j]\\mathcal{B}[i,j] B[i,j]\\mathcal{B}[i,j] B[i,j]\\mathcal{B}[i,j] B[i,j] B [ i , j ] \\mathcal{B}[i,j] B[i,j] B[i,j]  B [ i ,  j ] Ft\\mathbb{F}_tFt​ Ft\\mathbb{F}_tFt​ Ft\\mathbb{F}_t Ft\\mathbb{F}_t Ft\\mathbb{F}_t Ft Ft F t \\mathbb{F}_t Ft​ Ft​  Ft​ F t​ t​ t​ t t  t t ​    交集阶段\n\n接收方加密 ri∈Rr_i \\in Rri​∈R 。\n\n接收方的OPRF：接收方和发送方运行ecdh-OPRF协议，获得 {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ 。\n接收方的布谷鸟哈希：接收方使用h1、h2、h3哈希函数将集合 RRR 哈希到具有m个桶的布谷鸟表 C中。\n打包处理：接收方将布谷鸟表C中的项打包成FHE明文多项式。\n窗口化处理：接收方计算分量级查询幂。\n加密：接收方使用 FHE.Encrypt 加密查询幂，并将密文发送给发送方。\n\n\n发送方同态评估匹配多项式：发送方接收密文集合并同态评估匹配多项式。如果需要标记PSI，发送方还会同态评估标签多项式。发送方将评估后的密文发送给接收方。\n接收方解密并获取结果：接收方接收并解密匹配密文，必要时解密标签密文，输出匹配集合和标签。\n\n \n接收方加密 ri∈Rr_i \\in Rri​∈R 。\n\n接收方的OPRF：接收方和发送方运行ecdh-OPRF协议，获得 {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ 。\n接收方的布谷鸟哈希：接收方使用h1、h2、h3哈希函数将集合 RRR 哈希到具有m个桶的布谷鸟表 C中。\n打包处理：接收方将布谷鸟表C中的项打包成FHE明文多项式。\n窗口化处理：接收方计算分量级查询幂。\n加密：接收方使用 FHE.Encrypt 加密查询幂，并将密文发送给发送方。\n\n\n发送方同态评估匹配多项式：发送方接收密文集合并同态评估匹配多项式。如果需要标记PSI，发送方还会同态评估标签多项式。发送方将评估后的密文发送给接收方。\n接收方解密并获取结果：接收方接收并解密匹配密文，必要时解密标签密文，输出匹配集合和标签。\n 接收方加密 ri∈Rr_i \\in Rri​∈R 。\n\n接收方的OPRF：接收方和发送方运行ecdh-OPRF协议，获得 {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ 。\n接收方的布谷鸟哈希：接收方使用h1、h2、h3哈希函数将集合 RRR 哈希到具有m个桶的布谷鸟表 C中。\n打包处理：接收方将布谷鸟表C中的项打包成FHE明文多项式。\n窗口化处理：接收方计算分量级查询幂。\n加密：接收方使用 FHE.Encrypt 加密查询幂，并将密文发送给发送方。\n\n ri∈Rr_i \\in Rri​∈R ri∈Rr_i \\in Rri​∈R ri∈Rr_i \\in R ri∈Rr_i \\in R ri∈Rr_i \\in R ri∈R ri r i ∈ R r_i \\in R ri​∈R ri​∈  ri​ r i​ i​ i​ i i  i i ​     ∈  R  R \n接收方的OPRF：接收方和发送方运行ecdh-OPRF协议，获得 {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ 。\n接收方的布谷鸟哈希：接收方使用h1、h2、h3哈希函数将集合 RRR 哈希到具有m个桶的布谷鸟表 C中。\n打包处理：接收方将布谷鸟表C中的项打包成FHE明文多项式。\n窗口化处理：接收方计算分量级查询幂。\n加密：接收方使用 FHE.Encrypt 加密查询幂，并将密文发送给发送方。\n 接收方的OPRF：接收方和发送方运行ecdh-OPRF协议，获得 {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ 。 接收方的OPRF {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R} {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R} {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R} {{H2(ri,H1(ri)β)}}ri∈R { { H2 H 2 ( ri r i , H1(ri)β H1(ri) H1 H 1 ( ri r i ) β ) } }ri∈R } ri∈R ri r i ∈ R \\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R} {{H2​(ri​,H1​(ri​)β)}}ri​∈R​ {{H2​(ri​,H1​(ri​)β)}}ri​∈R​  {{ H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( ri​ r i​ i​ i​ i i  i i ​    ,  H1​(ri​)β H1​(ri​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( ri​ r i​ i​ i​ i i  i i ​    ) β β β β β  β β )} }ri​∈R​ } ri​∈R​ ri​∈R​ ri​∈R​ ri​∈R ri​∈R  ri​∈R ri​∈R ri​ r i​ i​ i​ i i  i i ​    ∈ R ​    接收方的布谷鸟哈希：接收方使用h1、h2、h3哈希函数将集合 RRR 哈希到具有m个桶的布谷鸟表 C中。 接收方的布谷鸟哈希 RRR RRR RR RR RR R R R R R  R 打包处理：接收方将布谷鸟表C中的项打包成FHE明文多项式。 打包处理 窗口化处理：接收方计算分量级查询幂。 窗口化处理 加密：接收方使用 FHE.Encrypt 加密查询幂，并将密文发送给发送方。 加密 FHE.Encrypt 发送方同态评估匹配多项式：发送方接收密文集合并同态评估匹配多项式。如果需要标记PSI，发送方还会同态评估标签多项式。发送方将评估后的密文发送给接收方。 发送方同态评估匹配多项式 接收方解密并获取结果：接收方接收并解密匹配密文，必要时解密标签密文，输出匹配集合和标签。 接收方解密并获取结果 标记PSI参数 参数功能1ItemParams（项参数）felts_per_item（每项元素数）每个项应占用多少Microsoft SEAL批处理槽 = item_bit_size / plain_modulus_bits，其中item_bit_size = stats_params + log(ns)+log(nr)2TableParams（表参数）hash_func_count（哈希函数数量）布谷鸟哈希数量。如果nr>1，则hash_func_count=3；nr=1时，hash_func_count=1，实质上禁用了布谷鸟哈希table_size（表大小）floor(poly_modulus_degree/felts_per_item)的正整数倍max_items_per_bin（每桶最大项数）发送方bin bundles中每行可容纳的项数3QueryParams（查询参数）ps_low_degree（PS低阶度）0到max_items_per_bin之间的任意数值。如果设为0，则不使用Paterson-Stockmeyer算法；ps_low_degree > 1时，使用Paterson-Stockmeyer算法query_powers（查询幂）发送方bin bundles每行可容纳的项数，参考Challis和Robinson (2010)确定合适的源幂4SEALParams（SEAL参数）poly_modulus_degree（多项式模数度）2048 / 4096 / 8192plain_modulus(_bits)（明文模数（位数））16(65535) / 22(位)coeff_modulus_bits（系数模数位数）{48} / {48, 30, 30} / {56, 56, 56, 50} 参数功能 参数功能  参数 参数 功能 功能 1ItemParams（项参数）felts_per_item（每项元素数）每个项应占用多少Microsoft SEAL批处理槽 = item_bit_size / plain_modulus_bits，其中item_bit_size = stats_params + log(ns)+log(nr)2TableParams（表参数）hash_func_count（哈希函数数量）布谷鸟哈希数量。如果nr>1，则hash_func_count=3；nr=1时，hash_func_count=1，实质上禁用了布谷鸟哈希table_size（表大小）floor(poly_modulus_degree/felts_per_item)的正整数倍max_items_per_bin（每桶最大项数）发送方bin bundles中每行可容纳的项数3QueryParams（查询参数）ps_low_degree（PS低阶度）0到max_items_per_bin之间的任意数值。如果设为0，则不使用Paterson-Stockmeyer算法；ps_low_degree > 1时，使用Paterson-Stockmeyer算法query_powers（查询幂）发送方bin bundles每行可容纳的项数，参考Challis和Robinson (2010)确定合适的源幂4SEALParams（SEAL参数）poly_modulus_degree（多项式模数度）2048 / 4096 / 8192plain_modulus(_bits)（明文模数（位数））16(65535) / 22(位)coeff_modulus_bits（系数模数位数）{48} / {48, 30, 30} / {56, 56, 56, 50} 1ItemParams（项参数） 1 1 ItemParams（项参数） ItemParams（项参数）   felts_per_item（每项元素数）每个项应占用多少Microsoft SEAL批处理槽 = item_bit_size / plain_modulus_bits，其中item_bit_size = stats_params + log(ns)+log(nr)  felts_per_item（每项元素数） felts_per_item（每项元素数） 每个项应占用多少Microsoft SEAL批处理槽 = item_bit_size / plain_modulus_bits，其中item_bit_size = stats_params + log(ns)+log(nr) 每个项应占用多少Microsoft SEAL批处理槽 = item_bit_size / plain_modulus_bits，其中item_bit_size = stats_params + log(ns)+log(nr) 2TableParams（表参数） 2 2 TableParams（表参数） TableParams（表参数）   hash_func_count（哈希函数数量）布谷鸟哈希数量。如果nr>1，则hash_func_count=3；nr=1时，hash_func_count=1，实质上禁用了布谷鸟哈希  hash_func_count（哈希函数数量） hash_func_count（哈希函数数量） 布谷鸟哈希数量。如果nr>1，则hash_func_count=3；nr=1时，hash_func_count=1，实质上禁用了布谷鸟哈希 布谷鸟哈希数量。如果nr>1，则hash_func_count=3；nr=1时，hash_func_count=1，实质上禁用了布谷鸟哈希 table_size（表大小）floor(poly_modulus_degree/felts_per_item)的正整数倍  table_size（表大小） table_size（表大小） floor(poly_modulus_degree/felts_per_item)的正整数倍 floor(poly_modulus_degree/felts_per_item)的正整数倍 max_items_per_bin（每桶最大项数）发送方bin bundles中每行可容纳的项数  max_items_per_bin（每桶最大项数） max_items_per_bin（每桶最大项数） 发送方bin bundles中每行可容纳的项数 发送方bin bundles中每行可容纳的项数 3QueryParams（查询参数） 3 3 QueryParams（查询参数） QueryParams（查询参数）   ps_low_degree（PS低阶度）0到max_items_per_bin之间的任意数值。如果设为0，则不使用Paterson-Stockmeyer算法；ps_low_degree > 1时，使用Paterson-Stockmeyer算法  ps_low_degree（PS低阶度） ps_low_degree（PS低阶度） 0到max_items_per_bin之间的任意数值。如果设为0，则不使用Paterson-Stockmeyer算法；ps_low_degree > 1时，使用Paterson-Stockmeyer算法 0到max_items_per_bin之间的任意数值。如果设为0，则不使用Paterson-Stockmeyer算法；ps_low_degree > 1时，使用Paterson-Stockmeyer算法 query_powers（查询幂）发送方bin bundles每行可容纳的项数，参考Challis和Robinson (2010)确定合适的源幂  query_powers（查询幂） query_powers（查询幂） 发送方bin bundles每行可容纳的项数，参考Challis和Robinson (2010)确定合适的源幂 发送方bin bundles每行可容纳的项数，参考Challis和Robinson (2010)确定合适的源幂 4SEALParams（SEAL参数） 4 4 SEALParams（SEAL参数） SEALParams（SEAL参数）   poly_modulus_degree（多项式模数度）2048 / 4096 / 8192  poly_modulus_degree（多项式模数度） poly_modulus_degree（多项式模数度） 2048 / 4096 / 8192 2048 / 4096 / 8192 plain_modulus(_bits)（明文模数（位数））16(65535) / 22(位)  plain_modulus(_bits)（明文模数（位数）） plain_modulus(_bits)（明文模数（位数）） 16(65535) / 22(位) 16(65535) / 22(位) coeff_modulus_bits（系数模数位数）{48} / {48, 30, 30} / {56, 56, 56, 50}  coeff_modulus_bits（系数模数位数） coeff_modulus_bits（系数模数位数） {48} / {48, 30, 30} / {56, 56, 56, 50} {48} / {48, 30, 30} / {56, 56, 56, 50} "},"49":{"url":"/psi/main/zh-CN/development/psi_protocol_intro#rr22-blazing-fast-psi","type":"fragment","title":"PSI协议介绍 - RR22高速PSI协议","content":"[RS21] 提出了基于不经意键值存储（OKVS）和向量不经意线性评估（VOLE）的高效PSI协议。[RR22] 对OKVS数据结构进行了重大改进，并引入了新方法，进一步降低了[RS21]的通信开销。 [RS21] [RR22] 不经意键值存储（OKVS）包含编码（Encode）和解码（Decode）算法。编码算法以键值对(k,v)列表为输入，返回一个抽象数据结构S。解码算法以数据结构S和一个键k'为输入，输出对应的值v'。 伪随机相关性生成器（PCGs）能够高效生成不经意传输（OT）和向量不经意线性评估（VOLE），同时实现亚线性通信和实际可接受的计算开销。PCG依赖于一种被称为适合LPN的纠错码的结构。 secretflow/YACL 提供了VOLE代码的实现。目前支持的LPN友好型编码包括 [CRR21] 的银色编码（LDPC）和 [BCGI+22] 的扩展-累积编码。银色编码（Silver）效率最高，但由于其安全缺陷，不推荐使用。 secretflow/YACL [CRR21] [BCGI+22] 半诚实协议：    \n接收方采样 r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappar←{0,1}κ ，并计算 P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r)P:=Encode(L,r) ，其中 L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\}L:={(Hn∗m(x,r),H(x))∣x∈X} 。\n发送方和接收方运行(sub)VOLE协议，发送方获得 Δ\\DeltaΔ 和 B⃗\\vec{B}B ，接收方获得 A⃗\\vec{A}A 和 C⃗\\vec{C}C ，满足 C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B}C=Δ∗A′+B 。\n接收方将 r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P}r,A=A′+P 发送给发送方。发送方定义 K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A}K=B+Δ⋅A 。\n发送方将 Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y})Y′=Hn∗m(Y,r)⋅K−Δ⋅H(Y) 发送给接收方。\n接收方比较 X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C}X′=Hn∗m(X,r)⋅C 和 Y′Y'Y′ ，输出交集结果 X∩YX \\cap YX∩Y 。\n 接收方采样 r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappar←{0,1}κ ，并计算 P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r)P:=Encode(L,r) ，其中 L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\}L:={(Hn∗m(x,r),H(x))∣x∈X} 。 r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappar←{0,1}κ r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappar←{0,1}κ r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappa r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappa r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappa r←{0,1}κ r ← { 0 , 1 }κ } κ r \\leftarrow \\{0,1\\}^\\kappa r←{0,1}κ r←  r  ←  {0,1}κ  { 0 ,  1 }κ } κ κ κ κ κ  κ κ P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r)P:=Encode(L,r) P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r)P:=Encode(L,r) P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r) P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r) P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r) P⃗:=Encode(L,r) P⃗ P ⃗ : = Encode E n c o d e ( L , r ) \\vec{P} :=  \\mathrm{Encode} (L,r) P:=Encode(L,r) P:=  P P P P P  P        :=  Encode(L,r)  Encode Encode ( L ,  r ) L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\}L:={(Hn∗m(x,r),H(x))∣x∈X} L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\}L:={(Hn∗m(x,r),H(x))∣x∈X} L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\} L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\} L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\} L:={(Hn∗m(x,r),H(x))∣x∈X} L : = { ( Hn∗m H n∗m n ∗ m ( x , r ) , H ( x ) ) ∣ x ∈ X } L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\} L:={(Hn∗m(x,r),H(x))∣x∈X} L:=  L  :=  {(Hn∗m(x,r),H(x))∣x∈  {( Hn∗m H n∗m n∗m n∗m n∗m n∗m  n∗m n∗m n ∗ m ( x ,  r ) ,  H ( x )) ∣ x  ∈  X}  X } 发送方和接收方运行(sub)VOLE协议，发送方获得 Δ\\DeltaΔ 和 B⃗\\vec{B}B ，接收方获得 A⃗\\vec{A}A 和 C⃗\\vec{C}C ，满足 C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B}C=Δ∗A′+B 。 Δ\\DeltaΔ Δ\\DeltaΔ Δ\\Delta Δ\\Delta Δ\\Delta Δ Δ \\Delta Δ Δ  Δ B⃗\\vec{B}B B⃗\\vec{B}B B⃗\\vec{B} B⃗\\vec{B} B⃗\\vec{B} B⃗ B⃗ B ⃗ \\vec{B} B B  B B B B B  B       A⃗\\vec{A}A A⃗\\vec{A}A A⃗\\vec{A} A⃗\\vec{A} A⃗\\vec{A} A⃗ A⃗ A ⃗ \\vec{A} A A  A A A A A  A       C⃗\\vec{C}C C⃗\\vec{C}C C⃗\\vec{C} C⃗\\vec{C} C⃗\\vec{C} C⃗ C⃗ C ⃗ \\vec{C} C C  C C C C C  C       C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B}C=Δ∗A′+B C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B}C=Δ∗A′+B C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B} C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B} C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B} C⃗=Δ∗A′⃗+B⃗ C⃗ C ⃗ = Δ ∗ A′⃗ A′ A ′ ⃗ + B⃗ B ⃗ \\vec{C}=\\Delta *\\vec{A'}+\\vec{B} C=Δ∗A′+B C=  C C C C C  C        =  Δ∗  Δ  ∗  A′+  A′ A′ A′ A′ A′  A′ A ′ ′ ′ ′ ′  ′ ′ ′        +  B  B B B B B  B       接收方将 r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P}r,A=A′+P 发送给发送方。发送方定义 K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A}K=B+Δ⋅A 。 r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P}r,A=A′+P r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P}r,A=A′+P r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P} r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P} r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P} r,A⃗=A′⃗+P⃗ r , A⃗ A ⃗ = A′⃗ A′ A ′ ⃗ + P⃗ P ⃗ r, \\vec{A}=\\vec{A'}+\\vec{P} r,A=A′+P r,A=  r ,  A A A A A  A        =  A′+  A′ A′ A′ A′ A′  A′ A ′ ′ ′ ′ ′  ′ ′ ′        +  P  P P P P P  P       K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A}K=B+Δ⋅A K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A}K=B+Δ⋅A K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A} K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A} K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A} K⃗=B⃗+Δ⋅A⃗ K⃗ K ⃗ = B⃗ B ⃗ + Δ ⋅ A⃗ A ⃗ \\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A} K=B+Δ⋅A K=  K K K K K  K        =  B+  B B B B B  B        +  Δ⋅  Δ  ⋅  A  A A A A A  A       发送方将 Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y})Y′=Hn∗m(Y,r)⋅K−Δ⋅H(Y) 发送给接收方。 Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y})Y′=Hn∗m(Y,r)⋅K−Δ⋅H(Y) Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y})Y′=Hn∗m(Y,r)⋅K−Δ⋅H(Y) Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y}) Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y}) Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y}) Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗) Y′ Y ′ = Hn∗m H n∗m n ∗ m ( Y⃗ Y ⃗ , r ) ⋅ K⃗ K ⃗ − Δ ⋅ H ( Y⃗ Y ⃗ ) Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y}) Y′=Hn∗m(Y,r)⋅K−Δ⋅H(Y) Y′=  Y′ Y ′ ′ ′ ′ ′  ′ ′ ′  =  Hn∗m(Y,r)⋅  Hn∗m H n∗m n∗m n∗m n∗m n∗m  n∗m n∗m n ∗ m ( Y Y Y Y Y  Y       ,  r )  ⋅  K−  K K K K K  K        −  Δ⋅  Δ  ⋅  H(Y)  H ( Y Y Y Y Y  Y       ) 接收方比较 X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C}X′=Hn∗m(X,r)⋅C 和 Y′Y'Y′ ，输出交集结果 X∩YX \\cap YX∩Y 。 X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C}X′=Hn∗m(X,r)⋅C X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C}X′=Hn∗m(X,r)⋅C X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C} X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C} X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C} X′=Hn∗m(X⃗,r)⋅C⃗ X′ X ′ = Hn∗m H n∗m n ∗ m ( X⃗ X ⃗ , r ) ⋅ C⃗ C ⃗ X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C} X′=Hn∗m(X,r)⋅C X′=  X′ X ′ ′ ′ ′ ′  ′ ′ ′  =  Hn∗m(X,r)⋅  Hn∗m H n∗m n∗m n∗m n∗m n∗m  n∗m n∗m n ∗ m ( X X X X X  X       ,  r )  ⋅  C  C C C C C  C       Y′Y'Y′ Y′Y'Y′ Y′Y' Y′Y' Y′Y' Y′ Y′ Y ′ Y' Y′ Y′  Y′ Y ′ ′ ′ ′ ′  ′ ′ ′ X∩YX \\cap YX∩Y X∩YX \\cap YX∩Y X∩YX \\cap Y X∩YX \\cap Y X∩YX \\cap Y X∩Y X ∩ Y X \\cap Y X∩Y X∩  X  ∩  Y  Y "},"50":{"url":"/psi/main/zh-CN/development/psi_protocol_intro#reference","type":"fragment","title":"PSI协议介绍 - 参考实现","content":"E. Boyle, G. Couteau, N. Gilboa, and Y. Ishai. Compressing vector OLE. In ACM CCS 2018,\npages 896–912. ACM Press, October 2018. E. Boyle, G. Couteau, N. Gilboa, and Y. Ishai. Compressing vector OLE. In ACM CCS 2018,\npages 896–912. ACM Press, October 2018. E. Boyle, G. Couteau, N. Gilboa, Y. Ishai, L. Kohl, P. Rindal, and P. Scholl. Efficient two-round\nOT extension and silent non-interactive secure computation. In ACM CCS 2019, pages 291–308.\nACM Press, November 2019. E. Boyle, G. Couteau, N. Gilboa, Y. Ishai, L. Kohl, P. Rindal, and P. Scholl. Efficient two-round\nOT extension and silent non-interactive secure computation. In ACM CCS 2019, pages 291–308.\nACM Press, November 2019. E. Boyle, G. Couteau, N. Gilboa, Y. Ishai, L. Kohl, P. Rindal, and P. Scholl.\nEfficient two-round OT extension and silent non-interactive secure computation. In ACM CCS 2019,\npages 291–308. ACM Press, November 2019. E. Boyle, G. Couteau, N. Gilboa, Y. Ishai, L. Kohl, P. Rindal, and P. Scholl.\nEfficient two-round OT extension and silent non-interactive secure computation. In ACM CCS 2019,\npages 291–308. ACM Press, November 2019. Daniel J. Bernstein. Curve25519: new diffie-hellman speed records. In In Public\nKey Cryptography (PKC), Springer-Verlag LNCS 3958, page 2006, 2006. (Cited on page 4.) Daniel J. Bernstein. Curve25519: new diffie-hellman speed records. In In Public\nKey Cryptography (PKC), Springer-Verlag LNCS 3958, page 2006, 2006. (Cited on page 4.) Elette Boyle, Geoffroy Couteau, Niv Gilboa, Yuval Ishai, Lisa Kohl, Nicolas Resch, Peter Scholl.\nCorrelated Pseudorandomness from Expand-Accumulate Codes. Crypto2022. Elette Boyle, Geoffroy Couteau, Niv Gilboa, Yuval Ishai, Lisa Kohl, Nicolas Resch, Peter Scholl.\nCorrelated Pseudorandomness from Expand-Accumulate Codes. Crypto2022. Baldi, P., Baronio, R., Cristofaro, E.D., Gasti, P., Tsudik, G.: Countering GATTACA:\nEfficient and Secure Testing of Fully-sequenced Human Genomes. In: ACM\nConference on Computer and Communications Security. pp. 691–702. ACM (2011). Baldi, P., Baronio, R., Cristofaro, E.D., Gasti, P., Tsudik, G.: Countering GATTACA:\nEfficient and Secure Testing of Fully-sequenced Human Genomes. In: ACM\nConference on Computer and Communications Security. pp. 691–702. ACM (2011). G. Couteau, Y. Ishai, L. Kohl, E. Boyle, P. Scholl, and N. Gilboa. Efficient pseudorandom\ncorrelation generators from ring-lpn. Springer-Verlag, 2020. G. Couteau, Y. Ishai, L. Kohl, E. Boyle, P. Scholl, and N. Gilboa. Efficient pseudorandom\ncorrelation generators from ring-lpn. Springer-Verlag, 2020. Chen, H., Huang, Z., Laine, K., Rindal, P.: Labeled PSI from fully homomorphic encryption with malicious\nsecurity. In: Lie, D., Mannan, M., Backes, M., Wang, X. (eds.) ACM CCS 2018. pp. 1223{1237. ACM Press (Oct\n2018). https://doi.org/10.1145/3243734.3243836 Chen, H., Huang, Z., Laine, K., Rindal, P.: Labeled PSI from fully homomorphic encryption with malicious\nsecurity. In: Lie, D., Mannan, M., Backes, M., Wang, X. (eds.) ACM CCS 2018. pp. 1223{1237. ACM Press (Oct\n2018). https://doi.org/10.1145/3243734.3243836 https://doi.org/10.1145/3243734.3243836 Chen, H., Laine, K., Rindal, P.: Fast private set intersection from homomorphic encryption. In: Thuraisingham,\nB.M., Evans, D., Malkin, T., Xu, D. (eds.) ACM CCS 2017. pp. 1243{1255. ACM Press (Oct / Nov 2017).\nhttps://doi.org/10.1145/3133956.3134061 Chen, H., Laine, K., Rindal, P.: Fast private set intersection from homomorphic encryption. In: Thuraisingham,\nB.M., Evans, D., Malkin, T., Xu, D. (eds.) ACM CCS 2017. pp. 1243{1255. ACM Press (Oct / Nov 2017).\nhttps://doi.org/10.1145/3133956.3134061 https://doi.org/10.1145/3133956.3134061 Kelong Cong, Radames Cruz Moreno, Mariana Botelho da Gama, Wei Dai, Ilia Iliashenko, Kim Laine,\nMichael Rosenberg. Labeled PSI from Homomorphic Encryption with Reduced Computation and Communication\nCCS'21: Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications SecurityNovember 2021 Kelong Cong, Radames Cruz Moreno, Mariana Botelho da Gama, Wei Dai, Ilia Iliashenko, Kim Laine,\nMichael Rosenberg. Labeled PSI from Homomorphic Encryption with Reduced Computation and Communication\nCCS'21: Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications SecurityNovember 2021 Geoffroy Couteau, Peter Rindal, and Srinivasan Raghuraman. Silver: Silent VOLE and Oblivious Transfer\nfrom Hardness of Decoding Structured LDPC Codes. Crypto2021. Geoffroy Couteau, Peter Rindal, and Srinivasan Raghuraman. Silver: Silent VOLE and Oblivious Transfer\nfrom Hardness of Decoding Structured LDPC Codes. Crypto2021. Differentially-Private PSI https://arxiv.org/pdf/2208.13249.pdf Differentially-Private PSI https://arxiv.org/pdf/2208.13249.pdf https://arxiv.org/pdf/2208.13249.pdf Costello, C., Longa, P.: Fourq: four-dimensional decompositions on a q-curve over the mersenne prime.\nCryptology ePrint Archive, Report 2015/565 (2015), https://eprint.iacr.org/2015/565 Costello, C., Longa, P.: Fourq: four-dimensional decompositions on a q-curve over the mersenne prime.\nCryptology ePrint Archive, Report 2015/565 (2015), https://eprint.iacr.org/2015/565 https://eprint.iacr.org/2015/565 Fan, J., Vercauteren, F.: Somewhat practical fully homomorphic encryption. Cryptology ePrint Archive,\nReport 2012/144 (2012), http://eprint.iacr.org/2012/144.pdf Fan, J., Vercauteren, F.: Somewhat practical fully homomorphic encryption. Cryptology ePrint Archive,\nReport 2012/144 (2012), http://eprint.iacr.org/2012/144.pdf http://eprint.iacr.org/2012/144.pdf Bernardo A. Huberman, Matt Franklin, and Tad Hogg. Enhancing privacy and trust in electronic\ncommunities. In ACM CONFERENCE ON ELECTRONIC COMMERCE. ACM, 1999. Bernardo A. Huberman, Matt Franklin, and Tad Hogg. Enhancing privacy and trust in electronic\ncommunities. In ACM CONFERENCE ON ELECTRONIC COMMERCE. ACM, 1999. https://github.com/intel/ipp-crypto/ https://github.com/intel/ipp-crypto/ https://github.com/intel/ipp-crypto/ Jarecki, S., Liu, X.: Fast Secure Computation of Set Intersection. In: SCN. LNCS,\nvol. 6280, pp. 418–435. Springer (2010) Jarecki, S., Liu, X.: Fast Secure Computation of Set Intersection. In: SCN. LNCS,\nvol. 6280, pp. 418–435. Springer (2010) V. Kolesnikov, R. Kumaresan, M. Rosulek, and N. Trieu. Efficient batched oblivious PRF with\napplications to private set intersection. In ACM CCS 2016, pages 818–829. ACM Press, October 2016. V. Kolesnikov, R. Kumaresan, M. Rosulek, and N. Trieu. Efficient batched oblivious PRF with\napplications to private set intersection. In ACM CCS 2016, pages 818–829. ACM Press, October 2016. C. Meadows. A more efficient cryptographic matchmaking protocol for use in the absence of a\ncontinuously available third party. In 1986 IEEE Symposium on Security and Privacy, pages 134–134, April 1986. C. Meadows. A more efficient cryptographic matchmaking protocol for use in the absence of a\ncontinuously available third party. In 1986 IEEE Symposium on Security and Privacy, pages 134–134, April 1986. B. Pinkas, T. Schneider, and M. Zohner. Scalable private set intersection based on ot extension.\nACM Transactions on Privacy and Security (TOPS), 21(2)–35, 2018. B. Pinkas, T. Schneider, and M. Zohner. Scalable private set intersection based on ot extension.\nACM Transactions on Privacy and Security (TOPS), 21(2)–35, 2018. Resende, A.C.D., Aranha, D.F.: Faster unbalanced private set intersection. In: Meiklejohn, S.,\nSako, K. (eds.) FC2018. LNCS, vol. 10957, pp. 203{221. Springer, Heidelberg (Feb / Mar 2018) Resende, A.C.D., Aranha, D.F.: Faster unbalanced private set intersection. In: Meiklejohn, S.,\nSako, K. (eds.) FC2018. LNCS, vol. 10957, pp. 203{221. Springer, Heidelberg (Feb / Mar 2018) Srinivasan Raghuraman and Peter Rindal. Blazing Fast PSI from Improved OKVS and Subfield VOLE. CCS'22. Srinivasan Raghuraman and Peter Rindal. Blazing Fast PSI from Improved OKVS and Subfield VOLE. CCS'22. Srinivasan Raghuraman, Peter Rindal, Titouan Tanguy. Expand-Convolute Codes for Pseudorandom\nCorrelation Generators from LPN. Crypto2023. Srinivasan Raghuraman, Peter Rindal, Titouan Tanguy. Expand-Convolute Codes for Pseudorandom\nCorrelation Generators from LPN. Crypto2023. Peter Rindal and Phillipp Schoppmann. VOLE-PSI: fast OPRF and circuit-psi from vector-ole. EUROCRYPT2021. Peter Rindal and Phillipp Schoppmann. VOLE-PSI: fast OPRF and circuit-psi from vector-ole. EUROCRYPT2021. Microsoft SEAL (release 4.0). https://github.com/Microsoft/SEAL (Sep 2022),\nmicrosoft Research, Redmond, WA. Microsoft SEAL (release 4.0). https://github.com/Microsoft/SEAL (Sep 2022),\nmicrosoft Research, Redmond, WA. https://github.com/Microsoft/SEAL Standards for Efficient Cryptography (SEC) <http://www.secg.org/sec2-v2.pdf> Standards for Efficient Cryptography (SEC) <http://www.secg.org/sec2-v2.pdf> http://www.secg.org/sec2-v2.pdf P. Schoppmann, A. Gascón, L. Reichert, and M. Raykova. Distributed vector-OLE: Improved\nconstructions and implementation. In ACM CCS 2019, pages 1055–1072. ACM Press, November 2019. P. Schoppmann, A. Gascón, L. Reichert, and M. Raykova. Distributed vector-OLE: Improved\nconstructions and implementation. In ACM CCS 2019, pages 1055–1072. ACM Press, November 2019. C. Weng, K. Yang, J. Katz, and X. Wang. Wolverine: fast, scalable, and communication-efficient\nzero-knowledge proofs for boolean and arithmetic circuits. In 2021 IEEE Symposium on Security\nand Privacy (SP), pages 1074–1091. IEEE, 2021. C. Weng, K. Yang, J. Katz, and X. Wang. Wolverine: fast, scalable, and communication-efficient\nzero-knowledge proofs for boolean and arithmetic circuits. In 2021 IEEE Symposium on Security\nand Privacy (SP), pages 1074–1091. IEEE, 2021. Oblivious Pseudorandom Functions (OPRFs) using Prime-Order Groups.\nhttps://www.ietf.org/archive/id/draft-irtf-cfrg-voprf-10.html Oblivious Pseudorandom Functions (OPRFs) using Prime-Order Groups.\nhttps://www.ietf.org/archive/id/draft-irtf-cfrg-voprf-10.html https://www.ietf.org/archive/id/draft-irtf-cfrg-voprf-10.html "},"51":{"url":"/psi/main/zh-CN/reference#api-reference","type":"fragment","title":"API reference","content":"This page covers all Protocol Buffers message as APIs. \nPSI v1 配置\nPSI v2 配置\nPIR 配置\n启动配置\n \nPSI v1 配置\nPSI v2 配置\nPIR 配置\n启动配置\n PSI v1 配置 PSI v1 配置 PSI v2 配置 PSI v2 配置 PIR 配置 PIR 配置 启动配置 启动配置 "},"52":{"url":"/psi/main/zh-CN/reference/pir_config#pir-configuration","type":"fragment","title":"PIR 配置","content":""},"53":{"url":"/psi/main/zh-CN/reference/pir_config#table-of-contents","type":"fragment","title":"PIR 配置 - 目录","content":"\n说明\n\nApsi接收方配置\nApsi发送方配置\nPIR 结果报告\n\n\n标量值类型\n 说明\n\nApsi接收方配置\nApsi发送方配置\nPIR 结果报告\n\n \nApsi接收方配置\nApsi发送方配置\nPIR 结果报告\n Apsi接收方配置 Apsi接收方配置 Apsi发送方配置 Apsi发送方配置 PIR 结果报告 PIR 结果报告 标量值类型 标量值类型  "},"54":{"url":"/psi/main/zh-CN/reference/pir_config#messages","type":"fragment","title":"PIR 配置 - 说明","content":""},"55":{"url":"/psi/main/zh-CN/reference/pir_config#apsireceiverconfig","type":"fragment","title":"PIR 配置 - Apsi接收方配置","content":"字段类型描述threads uint32使用的线程数log_file string日志文件路径。仅适用于 APSI。silent bool不将输出写入控制台。仅适用于 APSI。log_level string可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。query_file string包含查询数据的文本文件路径（每行一个）。不需要标题。output_file string交集结果将写入的文件路径。params_file string描述发送方使用的参数的 JSON 文件路径。如果未设置，接收方将询问发送方，这会导致额外的通信。experimental_enable_bucketize bool必须与发送方配置相同。experimental_bucket_cnt uint32必须与发送方配置相同。query_batch_size uint32每批次的查询数量。默认为 1。 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 threads uint32使用的线程数log_file string日志文件路径。仅适用于 APSI。silent bool不将输出写入控制台。仅适用于 APSI。log_level string可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。query_file string包含查询数据的文本文件路径（每行一个）。不需要标题。output_file string交集结果将写入的文件路径。params_file string描述发送方使用的参数的 JSON 文件路径。如果未设置，接收方将询问发送方，这会导致额外的通信。experimental_enable_bucketize bool必须与发送方配置相同。experimental_bucket_cnt uint32必须与发送方配置相同。query_batch_size uint32每批次的查询数量。默认为 1。 threads uint32使用的线程数 threads threads  uint32  uint32  uint32  uint32 使用的线程数 使用的线程数 log_file string日志文件路径。仅适用于 APSI。 log_file log_file  string  string  string  string 日志文件路径。仅适用于 APSI。 日志文件路径。仅适用于 APSI。 silent bool不将输出写入控制台。仅适用于 APSI。 silent silent  bool  bool  bool  bool 不将输出写入控制台。仅适用于 APSI。 不将输出写入控制台。仅适用于 APSI。 log_level string可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。 log_level log_level  string  string  string  string 可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。 可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。 query_file string包含查询数据的文本文件路径（每行一个）。不需要标题。 query_file query_file  string  string  string  string 包含查询数据的文本文件路径（每行一个）。不需要标题。 包含查询数据的文本文件路径（每行一个）。不需要标题。 output_file string交集结果将写入的文件路径。 output_file output_file  string  string  string  string 交集结果将写入的文件路径。 交集结果将写入的文件路径。 params_file string描述发送方使用的参数的 JSON 文件路径。如果未设置，接收方将询问发送方，这会导致额外的通信。 params_file params_file  string  string  string  string 描述发送方使用的参数的 JSON 文件路径。如果未设置，接收方将询问发送方，这会导致额外的通信。 描述发送方使用的参数的 JSON 文件路径。如果未设置，接收方将询问发送方，这会导致额外的通信。 experimental_enable_bucketize bool必须与发送方配置相同。 experimental_enable_bucketize experimental_enable_bucketize  bool  bool  bool  bool 必须与发送方配置相同。 必须与发送方配置相同。 experimental_bucket_cnt uint32必须与发送方配置相同。 experimental_bucket_cnt experimental_bucket_cnt  uint32  uint32  uint32  uint32 必须与发送方配置相同。 必须与发送方配置相同。 query_batch_size uint32每批次的查询数量。默认为 1。 query_batch_size query_batch_size  uint32  uint32  uint32  uint32 每批次的查询数量。默认为 1。 每批次的查询数量。默认为 1。  "},"56":{"url":"/psi/main/zh-CN/reference/pir_config#apsisenderconfig","type":"fragment","title":"PIR 配置 - Apsi发送方配置","content":"注意（junfeng）：我们提供了一个与原始 APSI CLI 相同的配置。详情请查看 https://github.com/microsoft/APSI?tab=readme-ov-file#command-line-interface-cli。 https://github.com/microsoft/APSI?tab=readme-ov-file#command-line-interface-cli。 字段类型描述threads uint32使用的线程数log_file string日志文件路径。仅适用于 APSI。silent bool不将输出写入控制台。仅适用于 APSI。log_level string可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。db_file string描述发送方数据集的 CSV 文件路径（每行一个项目-标签对）或包含序列化 SenderDB 的文件；CLI 将首先尝试将数据加载为序列化的 SenderDB，如果失败，则尝试将其作为 CSV 文件读取。对于 CSV 文件：1. 第一列作为项目处理，第二列作为标签。其他列将被忽略。2. 不允许有标题。params_file string描述发送方使用的参数的 JSON 文件路径。如果 db_file 指向序列化的 SenderDB，则不需要。sdb_out_file string将 SenderDB 保存在给定文件中。如果 gen_db_only 设置为 true，则必须提供。如果启用了 experimental_enable_bucketize，请改用 experimental_bucket_folder。nonce_byte_count uint32在标签模式下用于随机数的字节数（默认为 16）compress bool是否在内存中压缩 SenderDB；这将减少内存占用，但会增加计算成本。save_db_only bool是否仅保存发送方数据库。experimental_enable_bucketize bool[实验性] 是否将数据分桶，每个桶将是一个独立的 SenderDB。如果设置，experimental_bucket_folder 必须是一个有效的文件夹。experimental_bucket_cnt uint32[实验性] 适合数据的分桶数量。experimental_bucket_folder string[实验性] 保存分桶后的小型 CSV 文件和数据库文件的文件夹。experimental_db_generating_process_num int32[实验性] 用于生成数据库的进程数。source_file string用于生成发送方数据库的源文件。目前仅支持 CSV 文件。experimental_bucket_group_cnt int32[实验性] 分桶组的数量，每组有一个 db_file，默认为 1024。 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 threads uint32使用的线程数log_file string日志文件路径。仅适用于 APSI。silent bool不将输出写入控制台。仅适用于 APSI。log_level string可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。db_file string描述发送方数据集的 CSV 文件路径（每行一个项目-标签对）或包含序列化 SenderDB 的文件；CLI 将首先尝试将数据加载为序列化的 SenderDB，如果失败，则尝试将其作为 CSV 文件读取。对于 CSV 文件：1. 第一列作为项目处理，第二列作为标签。其他列将被忽略。2. 不允许有标题。params_file string描述发送方使用的参数的 JSON 文件路径。如果 db_file 指向序列化的 SenderDB，则不需要。sdb_out_file string将 SenderDB 保存在给定文件中。如果 gen_db_only 设置为 true，则必须提供。如果启用了 experimental_enable_bucketize，请改用 experimental_bucket_folder。nonce_byte_count uint32在标签模式下用于随机数的字节数（默认为 16）compress bool是否在内存中压缩 SenderDB；这将减少内存占用，但会增加计算成本。save_db_only bool是否仅保存发送方数据库。experimental_enable_bucketize bool[实验性] 是否将数据分桶，每个桶将是一个独立的 SenderDB。如果设置，experimental_bucket_folder 必须是一个有效的文件夹。experimental_bucket_cnt uint32[实验性] 适合数据的分桶数量。experimental_bucket_folder string[实验性] 保存分桶后的小型 CSV 文件和数据库文件的文件夹。experimental_db_generating_process_num int32[实验性] 用于生成数据库的进程数。source_file string用于生成发送方数据库的源文件。目前仅支持 CSV 文件。experimental_bucket_group_cnt int32[实验性] 分桶组的数量，每组有一个 db_file，默认为 1024。 threads uint32使用的线程数 threads threads  uint32  uint32  uint32  uint32 使用的线程数 使用的线程数 log_file string日志文件路径。仅适用于 APSI。 log_file log_file  string  string  string  string 日志文件路径。仅适用于 APSI。 日志文件路径。仅适用于 APSI。 silent bool不将输出写入控制台。仅适用于 APSI。 silent silent  bool  bool  bool  bool 不将输出写入控制台。仅适用于 APSI。 不将输出写入控制台。仅适用于 APSI。 log_level string可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。 log_level log_level  string  string  string  string 可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。 可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。 db_file string描述发送方数据集的 CSV 文件路径（每行一个项目-标签对）或包含序列化 SenderDB 的文件；CLI 将首先尝试将数据加载为序列化的 SenderDB，如果失败，则尝试将其作为 CSV 文件读取。对于 CSV 文件：1. 第一列作为项目处理，第二列作为标签。其他列将被忽略。2. 不允许有标题。 db_file db_file  string  string  string  string 描述发送方数据集的 CSV 文件路径（每行一个项目-标签对）或包含序列化 SenderDB 的文件；CLI 将首先尝试将数据加载为序列化的 SenderDB，如果失败，则尝试将其作为 CSV 文件读取。对于 CSV 文件：1. 第一列作为项目处理，第二列作为标签。其他列将被忽略。2. 不允许有标题。 描述发送方数据集的 CSV 文件路径（每行一个项目-标签对）或包含序列化 SenderDB 的文件；CLI 将首先尝试将数据加载为序列化的 SenderDB，如果失败，则尝试将其作为 CSV 文件读取。对于 CSV 文件：1. 第一列作为项目处理，第二列作为标签。其他列将被忽略。2. 不允许有标题。 params_file string描述发送方使用的参数的 JSON 文件路径。如果 db_file 指向序列化的 SenderDB，则不需要。 params_file params_file  string  string  string  string 描述发送方使用的参数的 JSON 文件路径。如果 db_file 指向序列化的 SenderDB，则不需要。 描述发送方使用的参数的 JSON 文件路径。如果 db_file 指向序列化的 SenderDB，则不需要。 sdb_out_file string将 SenderDB 保存在给定文件中。如果 gen_db_only 设置为 true，则必须提供。如果启用了 experimental_enable_bucketize，请改用 experimental_bucket_folder。 sdb_out_file sdb_out_file  string  string  string  string 将 SenderDB 保存在给定文件中。如果 gen_db_only 设置为 true，则必须提供。如果启用了 experimental_enable_bucketize，请改用 experimental_bucket_folder。 将 SenderDB 保存在给定文件中。如果 gen_db_only 设置为 true，则必须提供。如果启用了 experimental_enable_bucketize，请改用 experimental_bucket_folder。 nonce_byte_count uint32在标签模式下用于随机数的字节数（默认为 16） nonce_byte_count nonce_byte_count  uint32  uint32  uint32  uint32 在标签模式下用于随机数的字节数（默认为 16） 在标签模式下用于随机数的字节数（默认为 16） compress bool是否在内存中压缩 SenderDB；这将减少内存占用，但会增加计算成本。 compress compress  bool  bool  bool  bool 是否在内存中压缩 SenderDB；这将减少内存占用，但会增加计算成本。 是否在内存中压缩 SenderDB；这将减少内存占用，但会增加计算成本。 save_db_only bool是否仅保存发送方数据库。 save_db_only save_db_only  bool  bool  bool  bool 是否仅保存发送方数据库。 是否仅保存发送方数据库。 experimental_enable_bucketize bool[实验性] 是否将数据分桶，每个桶将是一个独立的 SenderDB。如果设置，experimental_bucket_folder 必须是一个有效的文件夹。 experimental_enable_bucketize experimental_enable_bucketize  bool  bool  bool  bool [实验性] 是否将数据分桶，每个桶将是一个独立的 SenderDB。如果设置，experimental_bucket_folder 必须是一个有效的文件夹。 [实验性] 是否将数据分桶，每个桶将是一个独立的 SenderDB。如果设置，experimental_bucket_folder 必须是一个有效的文件夹。 experimental_bucket_cnt uint32[实验性] 适合数据的分桶数量。 experimental_bucket_cnt experimental_bucket_cnt  uint32  uint32  uint32  uint32 [实验性] 适合数据的分桶数量。 [实验性] 适合数据的分桶数量。 experimental_bucket_folder string[实验性] 保存分桶后的小型 CSV 文件和数据库文件的文件夹。 experimental_bucket_folder experimental_bucket_folder  string  string  string  string [实验性] 保存分桶后的小型 CSV 文件和数据库文件的文件夹。 [实验性] 保存分桶后的小型 CSV 文件和数据库文件的文件夹。 experimental_db_generating_process_num int32[实验性] 用于生成数据库的进程数。 experimental_db_generating_process_num experimental_db_generating_process_num  int32  int32  int32  int32 [实验性] 用于生成数据库的进程数。 [实验性] 用于生成数据库的进程数。 source_file string用于生成发送方数据库的源文件。目前仅支持 CSV 文件。 source_file source_file  string  string  string  string 用于生成发送方数据库的源文件。目前仅支持 CSV 文件。 用于生成发送方数据库的源文件。目前仅支持 CSV 文件。 experimental_bucket_group_cnt int32[实验性] 分桶组的数量，每组有一个 db_file，默认为 1024。 experimental_bucket_group_cnt experimental_bucket_group_cnt  int32  int32  int32  int32 [实验性] 分桶组的数量，每组有一个 db_file，默认为 1024。 [实验性] 分桶组的数量，每组有一个 db_file，默认为 1024。  "},"57":{"url":"/psi/main/zh-CN/reference/pir_config#pirresultreport","type":"fragment","title":"PIR 配置 - PIR 结果报告","content":"PIR 任务的报告。 字段类型描述match_cnt int64无 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 match_cnt int64无 match_cnt int64无 match_cnt match_cnt  int64  int64  int64  int64 无 无  "},"58":{"url":"/psi/main/zh-CN/reference/pir_config#enums","type":"fragment","title":"PIR 配置 - 枚举","content":" "},"59":{"url":"/psi/main/zh-CN/reference/pir_config#scalar-value-types","type":"fragment","title":"PIR 配置 - 标量值类型","content":".proto 类型备注C++ 类型Java 类型Python 类型 doubledoubledoublefloat floatfloatfloatfloat int32使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint32。int32intint int64使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint64。int64longint/long uint32使用变长编码。uint32intint/long uint64使用变长编码。uint64longint/long sint32使用变长编码。有符号整数值。这些比常规的 int32 更有效地编码负数。int32intint sint64使用变长编码。有符号整数值。这些比常规的 int64 更有效地编码负数。int64longint/long fixed32始终为四个字节。如果值经常大于 2^28，则比 uint32 更高效。uint32intint fixed64始终为八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32始终为四个字节。int32intint sfixed64始终为八个字节。int64longint/long boolboolbooleanboolean string字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本。stringStringstr/unicode bytes可以包含任意字节序列。stringByteStringstr .proto 类型备注C++ 类型Java 类型Python 类型 .proto 类型备注C++ 类型Java 类型Python 类型 .proto 类型 .proto 类型 备注 备注 C++ 类型 C++ 类型 Java 类型 Java 类型 Python 类型 Python 类型  doubledoubledoublefloat floatfloatfloatfloat int32使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint32。int32intint int64使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint64。int64longint/long uint32使用变长编码。uint32intint/long uint64使用变长编码。uint64longint/long sint32使用变长编码。有符号整数值。这些比常规的 int32 更有效地编码负数。int32intint sint64使用变长编码。有符号整数值。这些比常规的 int64 更有效地编码负数。int64longint/long fixed32始终为四个字节。如果值经常大于 2^28，则比 uint32 更高效。uint32intint fixed64始终为八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32始终为四个字节。int32intint sfixed64始终为八个字节。int64longint/long boolboolbooleanboolean string字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本。stringStringstr/unicode bytes可以包含任意字节序列。stringByteStringstr  doubledoubledoublefloat  double  double  "},"60":{"url":"/psi/main/zh-CN/reference/psi_v2_config#psi-v2-configuration","type":"fragment","title":"PSI v2 配置","content":""},"61":{"url":"/psi/main/zh-CN/reference/psi_v2_config#table-of-contents","type":"fragment","title":"PSI v2 配置 - 目录","content":"\nMessages\n\nDebugOptions\nEcdhConfig\nInputAttr\nIoConfig\nKkrtConfig\nOutputAttr\nProtocolConfig\nPsiConfig\nRecoveryConfig\nRr22Config\nUbPsiConfig\n\n\nEnums\n\nIoType\nProtocol\nPsiConfig.AdvancedJoinType\nRole\nUbPsiConfig.Mode\n\n\nScalar Value Types\n Messages\n\nDebugOptions\nEcdhConfig\nInputAttr\nIoConfig\nKkrtConfig\nOutputAttr\nProtocolConfig\nPsiConfig\nRecoveryConfig\nRr22Config\nUbPsiConfig\n\n \nDebugOptions\nEcdhConfig\nInputAttr\nIoConfig\nKkrtConfig\nOutputAttr\nProtocolConfig\nPsiConfig\nRecoveryConfig\nRr22Config\nUbPsiConfig\n DebugOptions DebugOptions EcdhConfig EcdhConfig InputAttr InputAttr IoConfig IoConfig KkrtConfig KkrtConfig OutputAttr OutputAttr ProtocolConfig ProtocolConfig PsiConfig PsiConfig RecoveryConfig RecoveryConfig Rr22Config Rr22Config UbPsiConfig UbPsiConfig Enums\n\nIoType\nProtocol\nPsiConfig.AdvancedJoinType\nRole\nUbPsiConfig.Mode\n\n \nIoType\nProtocol\nPsiConfig.AdvancedJoinType\nRole\nUbPsiConfig.Mode\n IoType IoType Protocol Protocol PsiConfig.AdvancedJoinType PsiConfig.AdvancedJoinType Role Role UbPsiConfig.Mode UbPsiConfig.Mode Scalar Value Types Scalar Value Types  "},"62":{"url":"/psi/main/zh-CN/reference/psi_v2_config#messages","type":"fragment","title":"PSI v2 配置 - Messages","content":""},"63":{"url":"/psi/main/zh-CN/reference/psi_v2_config#debugoptions","type":"fragment","title":"PSI v2 配置 - DebugOptions","content":"默认日志记录的等级，默认为 info，支持以下等级： \ntrace: SPDLOG_LEVEL_TRACE\ndebug: SPDLOG_LEVEL_DEBUG\ninfo: SPDLOG_LEVEL_INFO\nwarn: SPDLOG_LEVEL_WARN\nerr: SPDLOG_LEVEL_ERROR\ncritical: SPDLOG_LEVEL_CRITICAL\noff: SPDLOG_LEVEL_OFF\n trace: SPDLOG_LEVEL_TRACE debug: SPDLOG_LEVEL_DEBUG info: SPDLOG_LEVEL_INFO warn: SPDLOG_LEVEL_WARN err: SPDLOG_LEVEL_ERROR critical: SPDLOG_LEVEL_CRITICAL off: SPDLOG_LEVEL_OFF 数据域类型描述logging_level string无trace_path string追踪的路径，默认为 /tmp/psi.trace 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 logging_level string无trace_path string追踪的路径，默认为 /tmp/psi.trace logging_level string无 logging_level logging_level  string  string  string  string 无 无 trace_path string追踪的路径，默认为 /tmp/psi.trace trace_path trace_path  string  string  string  string 追踪的路径，默认为 /tmp/psi.trace 追踪的路径，默认为 /tmp/psi.trace  "},"64":{"url":"/psi/main/zh-CN/reference/psi_v2_config#ecdhconfig","type":"fragment","title":"PSI v2 配置 - EcdhConfig","content":"为 ECDH 协议的配置 数据域类型描述curve psi.CurveType无batch_size uint64如果未指定，则默认为 4096 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 curve psi.CurveType无batch_size uint64如果未指定，则默认为 4096 curve psi.CurveType无 curve curve  psi.CurveType  psi.CurveType  psi.CurveType  psi.CurveType 无 无 batch_size uint64如果未指定，则默认为 4096 batch_size batch_size  uint64  uint64  uint64  uint64 如果未指定，则默认为 4096 如果未指定，则默认为 4096  "},"65":{"url":"/psi/main/zh-CN/reference/psi_v2_config#inputattr","type":"fragment","title":"PSI v2 配置 - InputAttr","content":"数据域类型描述keys_unique bool指定输入文件中的键（key）是否唯一，如果未指定，则默认为 false 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 keys_unique bool指定输入文件中的键（key）是否唯一，如果未指定，则默认为 false keys_unique bool指定输入文件中的键（key）是否唯一，如果未指定，则默认为 false keys_unique keys_unique  bool  bool  bool  bool 指定输入文件中的键（key）是否唯一，如果未指定，则默认为 false 指定输入文件中的键（key）是否唯一，如果未指定，则默认为 false  "},"66":{"url":"/psi/main/zh-CN/reference/psi_v2_config#ioconfig","type":"fragment","title":"PSI v2 配置 - IoConfig","content":"输入/输出配置 数据域类型描述type IoType无path stringFILE 的路径 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 type IoType无path stringFILE 的路径 type IoType无 type type  IoType  IoType  IoType 无 无 path stringFILE 的路径 path path  string  string  string  string FILE 的路径 FILE 的路径  "},"67":{"url":"/psi/main/zh-CN/reference/psi_v2_config#kkrtconfig","type":"fragment","title":"PSI v2 配置 - KkrtConfig","content":"KKRT 协议的配置 数据域类型描述bucket_size uint64因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 bucket_size uint64因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 bucket_size uint64因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 bucket_size bucket_size  uint64  uint64  uint64  uint64 因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。  "},"68":{"url":"/psi/main/zh-CN/reference/psi_v2_config#outputattr","type":"fragment","title":"PSI v2 配置 - OutputAttr","content":"数据域类型描述csv_null_rep stringCSV 输出文件中空值的表示。如果未指定，默认值为 “NULL”。 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 csv_null_rep stringCSV 输出文件中空值的表示。如果未指定，默认值为 “NULL”。 csv_null_rep stringCSV 输出文件中空值的表示。如果未指定，默认值为 “NULL”。 csv_null_rep csv_null_rep  string  string  string  string CSV 输出文件中空值的表示。如果未指定，默认值为 “NULL”。 CSV 输出文件中空值的表示。如果未指定，默认值为 “NULL”。  "},"69":{"url":"/psi/main/zh-CN/reference/psi_v2_config#protocolconfig","type":"fragment","title":"PSI v2 配置 - ProtocolConfig","content":"所有与 PSI 协议相关的内容 数据域类型描述protocol Protocol无role Role无broadcast_result bool指定是否将结果发送给 senderecdh_config EcdhConfigECDH 协议的配置kkrt_config KkrtConfigKKRT 协议的配置rr22_config Rr22ConfigRR22 协议的配置 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 protocol Protocol无role Role无broadcast_result bool指定是否将结果发送给 senderecdh_config EcdhConfigECDH 协议的配置kkrt_config KkrtConfigKKRT 协议的配置rr22_config Rr22ConfigRR22 协议的配置 protocol Protocol无 protocol protocol  Protocol  Protocol  Protocol 无 无 role Role无 role role  Role  Role  Role 无 无 broadcast_result bool指定是否将结果发送给 sender broadcast_result broadcast_result  bool  bool  bool  bool 指定是否将结果发送给 sender 指定是否将结果发送给 sender ecdh_config EcdhConfigECDH 协议的配置 ecdh_config ecdh_config  EcdhConfig  EcdhConfig  EcdhConfig ECDH 协议的配置 ECDH 协议的配置 kkrt_config KkrtConfigKKRT 协议的配置 kkrt_config kkrt_config  KkrtConfig  KkrtConfig  KkrtConfig KKRT 协议的配置 KKRT 协议的配置 rr22_config Rr22ConfigRR22 协议的配置 rr22_config rr22_config  Rr22Config  Rr22Config  Rr22Config RR22 协议的配置 RR22 协议的配置  "},"70":{"url":"/psi/main/zh-CN/reference/psi_v2_config#psiconfig","type":"fragment","title":"PSI v2 配置 - PsiConfig","content":"顶层配置。run(PsiConfig)->PsiReport advanced_join_type 有很多种\n类型：Inner Join，例如，若 receiver 的输入是  sender 的输入是  在 inner join 后，receiver 的输出是  sender 的输出是  类型：Left Join After left join，左侧的输出是  右侧的输出是  类型：Right Join After right join，左侧的输出是  右侧的输出是  类型：Full Join After full join，左侧的输出是  右侧的输出是  类型：Difference After difference，左侧的输出是  右侧的输出是  数据域类型描述protocol_config ProtocolConfig协议的配置input_config IoConfig输入的配置output_config IoConfig输出的配置keysrepeated string求交所用的键（key）debug_options DebugOptionsLogging level.disable_alignment bool如果设为 true，那么输出不一定保证对齐recovery_config RecoveryConfig协议恢复配置advanced_join_type PsiConfig.AdvancedJoinType无left_side Role如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填check_hash_digest bool检查参与方的键的哈希值是否相等，来确定是否提前终止协议input_attr InputAttr输入属性output_attr OutputAttr输出属性 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 protocol_config ProtocolConfig协议的配置input_config IoConfig输入的配置output_config IoConfig输出的配置keysrepeated string求交所用的键（key）debug_options DebugOptionsLogging level.disable_alignment bool如果设为 true，那么输出不一定保证对齐recovery_config RecoveryConfig协议恢复配置advanced_join_type PsiConfig.AdvancedJoinType无left_side Role如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填check_hash_digest bool检查参与方的键的哈希值是否相等，来确定是否提前终止协议input_attr InputAttr输入属性output_attr OutputAttr输出属性 protocol_config ProtocolConfig协议的配置 protocol_config protocol_config  ProtocolConfig  ProtocolConfig  ProtocolConfig 协议的配置 协议的配置 input_config IoConfig输入的配置 input_config input_config  IoConfig  IoConfig  IoConfig 输入的配置 输入的配置 output_config IoConfig输出的配置 output_config output_config  IoConfig  IoConfig  IoConfig 输出的配置 输出的配置 keysrepeated string求交所用的键（key） keys keys repeated string repeated string repeated string repeated string 求交所用的键（key） 求交所用的键（key） debug_options DebugOptionsLogging level. debug_options debug_options  DebugOptions  DebugOptions  DebugOptions Logging level. Logging level. disable_alignment bool如果设为 true，那么输出不一定保证对齐 disable_alignment disable_alignment  bool  bool  bool  bool 如果设为 true，那么输出不一定保证对齐 如果设为 true，那么输出不一定保证对齐 recovery_config RecoveryConfig协议恢复配置 recovery_config recovery_config  RecoveryConfig  RecoveryConfig  RecoveryConfig 协议恢复配置 协议恢复配置 advanced_join_type PsiConfig.AdvancedJoinType无 advanced_join_type advanced_join_type  PsiConfig.AdvancedJoinType  PsiConfig.AdvancedJoinType  PsiConfig.AdvancedJoinType 无 无 left_side Role如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填 left_side left_side  Role  Role  Role 如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填 如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填 check_hash_digest bool检查参与方的键的哈希值是否相等，来确定是否提前终止协议 check_hash_digest check_hash_digest  bool  bool  bool  bool 检查参与方的键的哈希值是否相等，来确定是否提前终止协议 检查参与方的键的哈希值是否相等，来确定是否提前终止协议 input_attr InputAttr输入属性 input_attr input_attr  InputAttr  InputAttr  InputAttr 输入属性 输入属性 output_attr OutputAttr输出属性 output_attr output_attr  OutputAttr  OutputAttr  OutputAttr 输出属性 输出属性  "},"71":{"url":"/psi/main/zh-CN/reference/psi_v2_config#recoveryconfig","type":"fragment","title":"PSI v2 配置 - RecoveryConfig","content":"协议恢复配置。如果 PSI 协议意外失败，如发生网络错误，协议可以恢复到最近的检查点。以此可以节省时间，但是会有额外的磁盘读写和占用。 数据域类型描述enabled bool无folder string保存中间状态和检查点的目录 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 enabled bool无folder string保存中间状态和检查点的目录 enabled bool无 enabled enabled  bool  bool  bool  bool 无 无 folder string保存中间状态和检查点的目录 folder folder  string  string  string  string 保存中间状态和检查点的目录 保存中间状态和检查点的目录  "},"72":{"url":"/psi/main/zh-CN/reference/psi_v2_config#rr22config","type":"fragment","title":"PSI v2 配置 - Rr22Config","content":"Configs for RR22 protocol. 数据域类型描述bucket_size uint64因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。low_comm_mode bool无 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 bucket_size uint64因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。low_comm_mode bool无 bucket_size uint64因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 bucket_size bucket_size  uint64  uint64  uint64  uint64 因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 low_comm_mode bool无 low_comm_mode low_comm_mode  bool  bool  bool  bool 无 无  "},"73":{"url":"/psi/main/zh-CN/reference/psi_v2_config#ubpsiconfig","type":"fragment","title":"PSI v2 配置 - UbPsiConfig","content":"config for unbalanced psi. 数据域类型描述mode UbPsiConfig.Mode必填role Role当 mode 为 MODE_OFFLINE_GEN_CACHE 之外的其他模式时必填。input_config IoConfig对原始输入的配置。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。keysrepeated string求交所用的键。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE and MODE_FULL 时必填。server_secret_key_path string对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_ONLINE 和 MODE_FULL 时必填。cache_path string必填server_get_result bool无client_get_result bool无disable_alignment bool如果设置为 true，那么输出不一定保证对齐。仅当 server_get_result 和 client_get_result 都为 true 时才有效。output_config IoConfig当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。debug_options DebugOptionsLogging level.advanced_join_type PsiConfig.AdvancedJoinType无left_side Role如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填input_attr InputAttr输入属性output_attr OutputAttr输出属性 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 mode UbPsiConfig.Mode必填role Role当 mode 为 MODE_OFFLINE_GEN_CACHE 之外的其他模式时必填。input_config IoConfig对原始输入的配置。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。keysrepeated string求交所用的键。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE and MODE_FULL 时必填。server_secret_key_path string对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_ONLINE 和 MODE_FULL 时必填。cache_path string必填server_get_result bool无client_get_result bool无disable_alignment bool如果设置为 true，那么输出不一定保证对齐。仅当 server_get_result 和 client_get_result 都为 true 时才有效。output_config IoConfig当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。debug_options DebugOptionsLogging level.advanced_join_type PsiConfig.AdvancedJoinType无left_side Role如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填input_attr InputAttr输入属性output_attr OutputAttr输出属性 mode UbPsiConfig.Mode必填 mode mode  UbPsiConfig.Mode  UbPsiConfig.Mode  UbPsiConfig.Mode 必填 必填 role Role当 mode 为 MODE_OFFLINE_GEN_CACHE 之外的其他模式时必填。 role role  Role  Role  Role 当 mode 为 MODE_OFFLINE_GEN_CACHE 之外的其他模式时必填。 当 mode 为 MODE_OFFLINE_GEN_CACHE 之外的其他模式时必填。 input_config IoConfig对原始输入的配置。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。 input_config input_config  IoConfig  IoConfig  IoConfig 对原始输入的配置。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。 对原始输入的配置。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。 keysrepeated string求交所用的键。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE and MODE_FULL 时必填。 keys keys repeated string repeated string repeated string repeated string 求交所用的键。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE and MODE_FULL 时必填。 求交所用的键。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE and MODE_FULL 时必填。 server_secret_key_path string对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_ONLINE 和 MODE_FULL 时必填。 server_secret_key_path server_secret_key_path  string  string  string  string 对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_ONLINE 和 MODE_FULL 时必填。 对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_ONLINE 和 MODE_FULL 时必填。 cache_path string必填 cache_path cache_path  string  string  string  string 必填 必填 server_get_result bool无 server_get_result server_get_result  bool  bool  bool  bool 无 无 client_get_result bool无 client_get_result client_get_result  bool  bool  bool  bool 无 无 disable_alignment bool如果设置为 true，那么输出不一定保证对齐。仅当 server_get_result 和 client_get_result 都为 true 时才有效。 disable_alignment disable_alignment  bool  bool  bool  bool 如果设置为 true，那么输出不一定保证对齐。仅当 server_get_result 和 client_get_result 都为 true 时才有效。 如果设置为 true，那么输出不一定保证对齐。仅当 server_get_result 和 client_get_result 都为 true 时才有效。 output_config IoConfig当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。 output_config output_config  IoConfig  IoConfig  IoConfig 当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。 当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。 debug_options DebugOptionsLogging level. debug_options debug_options  DebugOptions  DebugOptions  DebugOptions Logging level. Logging level. advanced_join_type PsiConfig.AdvancedJoinType无 advanced_join_type advanced_join_type  PsiConfig.AdvancedJoinType  PsiConfig.AdvancedJoinType  PsiConfig.AdvancedJoinType 无 无 left_side Role如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填 left_side left_side  Role  Role  Role 如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填 如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填 input_attr InputAttr输入属性 input_attr input_attr  InputAttr  InputAttr  InputAttr 输入属性 输入属性 output_attr OutputAttr输出属性 output_attr output_attr  OutputAttr  OutputAttr  OutputAttr 输出属性 输出属性  "},"74":{"url":"/psi/main/zh-CN/reference/psi_v2_config#enums","type":"fragment","title":"PSI v2 配置 - Enums","content":""},"75":{"url":"/psi/main/zh-CN/reference/psi_v2_config#iotype","type":"fragment","title":"PSI v2 配置 - IoType","content":"TODO(junfeng): support more io types including oss, sql, etc. NameNumber描述IO_TYPE_UNSPECIFIED0无IO_TYPE_FILE_CSV1本地 csv 文件。 NameNumber描述 NameNumber描述 Name Name Number Number 描述 描述 IO_TYPE_UNSPECIFIED0无IO_TYPE_FILE_CSV1本地 csv 文件。 IO_TYPE_UNSPECIFIED0无 IO_TYPE_UNSPECIFIED IO_TYPE_UNSPECIFIED 0 0 无 无 IO_TYPE_FILE_CSV1本地 csv 文件。 IO_TYPE_FILE_CSV IO_TYPE_FILE_CSV 1 1 本地 csv 文件。 本地 csv 文件。 "},"76":{"url":"/psi/main/zh-CN/reference/psi_v2_config#protocol","type":"fragment","title":"PSI v2 配置 - Protocol","content":"PSI 协议。 NameNumber描述PROTOCOL_UNSPECIFIED0无PROTOCOL_ECDH1[Mea86]C. Meadows, “A More Efficient Cryptographic Matchmaking Protocol for Use in the Absence of a Continuously Available Third Party,” 1986 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 1986, pp. 134-134, doi: 10.1109/SP.1986.10022.PROTOCOL_KKRT2Efficient Batched Oblivious PRF with Applications to Private Set Intersection https://eprint.iacr.org/2016/799.pdfPROTOCOL_RR223Blazing Fast PSI https://eprint.iacr.org/2022/320.pdf NameNumber描述 NameNumber描述 Name Name Number Number 描述 描述 PROTOCOL_UNSPECIFIED0无PROTOCOL_ECDH1[Mea86]C. Meadows, “A More Efficient Cryptographic Matchmaking Protocol for Use in the Absence of a Continuously Available Third Party,” 1986 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 1986, pp. 134-134, doi: 10.1109/SP.1986.10022.PROTOCOL_KKRT2Efficient Batched Oblivious PRF with Applications to Private Set Intersection https://eprint.iacr.org/2016/799.pdfPROTOCOL_RR223Blazing Fast PSI https://eprint.iacr.org/2022/320.pdf PROTOCOL_UNSPECIFIED0无 PROTOCOL_UNSPECIFIED PROTOCOL_UNSPECIFIED 0 0 无 无 PROTOCOL_ECDH1[Mea86]C. Meadows, “A More Efficient Cryptographic Matchmaking Protocol for Use in the Absence of a Continuously Available Third Party,” 1986 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 1986, pp. 134-134, doi: 10.1109/SP.1986.10022. PROTOCOL_ECDH PROTOCOL_ECDH 1 1 [Mea86]C. Meadows, “A More Efficient Cryptographic Matchmaking Protocol for Use in the Absence of a Continuously Available Third Party,” 1986 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 1986, pp. 134-134, doi: 10.1109/SP.1986.10022. [Mea86]C. Meadows, “A More Efficient Cryptographic Matchmaking Protocol for Use in the Absence of a Continuously Available Third Party,” 1986 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 1986, pp. 134-134, doi: 10.1109/SP.1986.10022. PROTOCOL_KKRT2Efficient Batched Oblivious PRF with Applications to Private Set Intersection https://eprint.iacr.org/2016/799.pdf PROTOCOL_KKRT PROTOCOL_KKRT 2 2 Efficient Batched Oblivious PRF with Applications to Private Set Intersection https://eprint.iacr.org/2016/799.pdf Efficient Batched Oblivious PRF with Applications to Private Set Intersection https://eprint.iacr.org/2016/799.pdf https://eprint.iacr.org/2016/799.pdf PROTOCOL_RR223Blazing Fast PSI https://eprint.iacr.org/2022/320.pdf PROTOCOL_RR22 PROTOCOL_RR22 3 3 Blazing Fast PSI https://eprint.iacr.org/2022/320.pdf Blazing Fast PSI https://eprint.iacr.org/2022/320.pdf https://eprint.iacr.org/2022/320.pdf "},"77":{"url":"/psi/main/zh-CN/reference/psi_v2_config#psiconfig-advancedjointype","type":"fragment","title":"PSI v2 配置 - PsiConfig.AdvancedJoinType","content":"高级求交，允许重复的键。 \n如果开启，那么会跳过 duplicates_check。\n如果开启，那么协议双方可以持有重复的键。\n如果使用 left join、full join 或 difference，那么左方差集的大小会泄露给右方。\n如果使用 right join、full join 或 difference，那么右方差集的大小会泄露给左方。\n 如果开启，那么会跳过 duplicates_check。 如果开启，那么协议双方可以持有重复的键。 如果使用 left join、full join 或 difference，那么左方差集的大小会泄露给右方。 如果使用 right join、full join 或 difference，那么右方差集的大小会泄露给左方。 NameNumber描述ADVANCED_JOIN_TYPE_UNSPECIFIED0无ADVANCED_JOIN_TYPE_INNER_JOIN1无ADVANCED_JOIN_TYPE_LEFT_JOIN2无ADVANCED_JOIN_TYPE_RIGHT_JOIN3无ADVANCED_JOIN_TYPE_FULL_JOIN4无ADVANCED_JOIN_TYPE_DIFFERENCE5无 NameNumber描述 NameNumber描述 Name Name Number Number 描述 描述 ADVANCED_JOIN_TYPE_UNSPECIFIED0无ADVANCED_JOIN_TYPE_INNER_JOIN1无ADVANCED_JOIN_TYPE_LEFT_JOIN2无ADVANCED_JOIN_TYPE_RIGHT_JOIN3无ADVANCED_JOIN_TYPE_FULL_JOIN4无ADVANCED_JOIN_TYPE_DIFFERENCE5无 ADVANCED_JOIN_TYPE_UNSPECIFIED0无 ADVANCED_JOIN_TYPE_UNSPECIFIED ADVANCED_JOIN_TYPE_UNSPECIFIED 0 0 无 无 ADVANCED_JOIN_TYPE_INNER_JOIN1无 ADVANCED_JOIN_TYPE_INNER_JOIN ADVANCED_JOIN_TYPE_INNER_JOIN 1 1 无 无 ADVANCED_JOIN_TYPE_LEFT_JOIN2无 ADVANCED_JOIN_TYPE_LEFT_JOIN ADVANCED_JOIN_TYPE_LEFT_JOIN 2 2 无 无 ADVANCED_JOIN_TYPE_RIGHT_JOIN3无 ADVANCED_JOIN_TYPE_RIGHT_JOIN ADVANCED_JOIN_TYPE_RIGHT_JOIN 3 3 无 无 ADVANCED_JOIN_TYPE_FULL_JOIN4无 ADVANCED_JOIN_TYPE_FULL_JOIN ADVANCED_JOIN_TYPE_FULL_JOIN 4 4 无 无 ADVANCED_JOIN_TYPE_DIFFERENCE5无 ADVANCED_JOIN_TYPE_DIFFERENCE ADVANCED_JOIN_TYPE_DIFFERENCE 5 5 无 无 "},"78":{"url":"/psi/main/zh-CN/reference/psi_v2_config#role","type":"fragment","title":"PSI v2 配置 - Role","content":"每一方的角色。 NameNumber描述ROLE_UNSPECIFIED0无ROLE_RECEIVER12 方对称 PSI 中的 receiver，在原始协议中，receiver 始终接收结果。ROLE_SENDER22 方对称 PSI 中的 sender，sender 是除 receiver 外的另一方。ROLE_SERVER32 方非平衡 PSI 中的 server，server 持有的数据集大得多。ROLE_CLIENT4server In 2P unbalanced PSI, clients own a much smaller dataset. NameNumber描述 NameNumber描述 Name Name Number Number 描述 描述 ROLE_UNSPECIFIED0无ROLE_RECEIVER12 方对称 PSI 中的 receiver，在原始协议中，receiver 始终接收结果。ROLE_SENDER22 方对称 PSI 中的 sender，sender 是除 receiver 外的另一方。ROLE_SERVER32 方非平衡 PSI 中的 server，server 持有的数据集大得多。ROLE_CLIENT4server In 2P unbalanced PSI, clients own a much smaller dataset. ROLE_UNSPECIFIED0无 ROLE_UNSPECIFIED ROLE_UNSPECIFIED 0 0 无 无 ROLE_RECEIVER12 方对称 PSI 中的 receiver，在原始协议中，receiver 始终接收结果。 ROLE_RECEIVER ROLE_RECEIVER 1 1 2 方对称 PSI 中的 receiver，在原始协议中，receiver 始终接收结果。 2 方对称 PSI 中的 receiver，在原始协议中，receiver 始终接收结果。 ROLE_SENDER22 方对称 PSI 中的 sender，sender 是除 receiver 外的另一方。 ROLE_SENDER ROLE_SENDER 2 2 2 方对称 PSI 中的 sender，sender 是除 receiver 外的另一方。 2 方对称 PSI 中的 sender，sender 是除 receiver 外的另一方。 ROLE_SERVER32 方非平衡 PSI 中的 server，server 持有的数据集大得多。 ROLE_SERVER ROLE_SERVER 3 3 2 方非平衡 PSI 中的 server，server 持有的数据集大得多。 2 方非平衡 PSI 中的 server，server 持有的数据集大得多。 ROLE_CLIENT4server In 2P unbalanced PSI, clients own a much smaller dataset. ROLE_CLIENT ROLE_CLIENT 4 4 server In 2P unbalanced PSI, clients own a much smaller dataset. server In 2P unbalanced PSI, clients own a much smaller dataset. "},"79":{"url":"/psi/main/zh-CN/reference/psi_v2_config#ubpsiconfig-mode","type":"fragment","title":"PSI v2 配置 - UbPsiConfig.Mode","content":"NameNumber描述MODE_UNSPECIFIED0无MODE_OFFLINE_GEN_CACHE1Server 只生成 cache，这是 offline 阶段的第一部分。MODE_OFFLINE_TRANSFER_CACHE2Server 只把 cache 发给 client，这是 offline 阶段的第二部分。MODE_OFFLINE3运行 offline 阶段。MODE_ONLINE4运行 online 阶段。MODE_FULL5运行所有阶段。 NameNumber描述 NameNumber描述 Name Name Number Number 描述 描述 MODE_UNSPECIFIED0无MODE_OFFLINE_GEN_CACHE1Server 只生成 cache，这是 offline 阶段的第一部分。MODE_OFFLINE_TRANSFER_CACHE2Server 只把 cache 发给 client，这是 offline 阶段的第二部分。MODE_OFFLINE3运行 offline 阶段。MODE_ONLINE4运行 online 阶段。MODE_FULL5运行所有阶段。 MODE_UNSPECIFIED0无 MODE_UNSPECIFIED MODE_UNSPECIFIED 0 0 无 无 MODE_OFFLINE_GEN_CACHE1Server 只生成 cache，这是 offline 阶段的第一部分。 MODE_OFFLINE_GEN_CACHE MODE_OFFLINE_GEN_CACHE 1 1 Server 只生成 cache，这是 offline 阶段的第一部分。 Server 只生成 cache，这是 offline 阶段的第一部分。 MODE_OFFLINE_TRANSFER_CACHE2Server 只把 cache 发给 client，这是 offline 阶段的第二部分。 MODE_OFFLINE_TRANSFER_CACHE MODE_OFFLINE_TRANSFER_CACHE 2 2 Server 只把 cache 发给 client，这是 offline 阶段的第二部分。 Server 只把 cache 发给 client，这是 offline 阶段的第二部分。 MODE_OFFLINE3运行 offline 阶段。 MODE_OFFLINE MODE_OFFLINE 3 3 运行 offline 阶段。 运行 offline 阶段。 MODE_ONLINE4运行 online 阶段。 MODE_ONLINE MODE_ONLINE 4 4 运行 online 阶段。 运行 online 阶段。 MODE_FULL5运行所有阶段。 MODE_FULL MODE_FULL 5 5 运行所有阶段。 运行所有阶段。  "},"80":{"url":"/psi/main/zh-CN/reference/psi_v2_config#scalar-value-types","type":"fragment","title":"PSI v2 配置 - 标量值类型","content":".proto 中的类型注释C++ 类型Java 类型Python 类型 doubledoubledoublefloat floatfloatfloatfloat int32使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint32。int32intint int64使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint64。int64longint/long uint32使用变长编码。uint32intint/long uint64使用变长编码。uint64longint/long sint32使用变长编码。有符号整数值。这些比常规的 int32 更有效地编码负数。int32intint sint64使用变长编码。有符号整数值。这些比常规的 int64 更有效地编码负数。int64longint/long fixed32始终为四个字节。如果值经常大于 2^28，则比 uint32 更高效。uint32intint fixed64始终为八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32始终为四个字节。int32intint sfixed64始终为八个字节。int64longint/long boolboolbooleanboolean string字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本。stringStringstr/unicode bytes可以包含任意字节序列。stringByteStringstr .proto 中的类型注释C++ 类型Java 类型Python 类型 .proto 中的类型注释C++ 类型Java 类型Python 类型 .proto 中的类型 .proto 中的类型 注释 注释 C++ 类型 C++ 类型 Java 类型 Java 类型 Python 类型 Python 类型  doubledoubledoublefloat floatfloatfloatfloat int32使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint32。int32intint int64使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint64。int64longint/long uint32使用变长编码。uint32intint/long uint64使用变长编码。uint64longint/long sint32使用变长编码。有符号整数值。这些比常规的 int32 更有效地编码负数。int32intint sint64使用变长编码。有符号整数值。这些比常规的 int64 更有效地编码负数。int64longint/long fixed32始终为四个字节。如果值经常大于 2^28，则比 uint32 更高效。uint32intint fixed64始终为八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32始终为四个字节。int32intint sfixed64始终为八个字节。int64longint/long boolboolbooleanboolean string字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本。stringStringstr/unicode bytes可以包含任意字节序列。stringByteStringstr  doubledoubledoublefloat  double  double  "},"81":{"url":"/psi/main/zh-CN/reference/psi_config#psi-v1-configuration","type":"fragment","title":"PSI v1 配置","content":""},"82":{"url":"/psi/main/zh-CN/reference/psi_config#table-of-contents","type":"fragment","title":"PSI v1 配置 - 目录","content":"\n消息\n\nBucketPsiConfig\nDpPsiParams\nInputParams\nMemoryPsiConfig\nOutputParams\nPsiResultReport\n\n\n枚举\n\nCurveType\nPsiType\n\n\nScalar Value Types\n 消息\n\nBucketPsiConfig\nDpPsiParams\nInputParams\nMemoryPsiConfig\nOutputParams\nPsiResultReport\n\n \nBucketPsiConfig\nDpPsiParams\nInputParams\nMemoryPsiConfig\nOutputParams\nPsiResultReport\n BucketPsiConfig BucketPsiConfig DpPsiParams DpPsiParams InputParams InputParams MemoryPsiConfig MemoryPsiConfig OutputParams OutputParams PsiResultReport PsiResultReport 枚举\n\nCurveType\nPsiType\n\n \nCurveType\nPsiType\n CurveType CurveType PsiType PsiType Scalar Value Types Scalar Value Types  "},"83":{"url":"/psi/main/zh-CN/reference/psi_config#messages","type":"fragment","title":"PSI v1 配置 - 消息","content":""},"84":{"url":"/psi/main/zh-CN/reference/psi_config#bucketpsiconfig","type":"fragment","title":"PSI v1 配置 - BucketPsiConfig","content":" Bucket-psi 配置  字段类型描述psi_type PsiTypePSI 类型。receiver_rank uint32指定接收方编号。该接收方将获取 PSI 结果。broadcast_result bool是否将 PSI 结果广播给所有参与者。input_params InputParamsPSI 的输入参数。output_params OutputParamsPSI 的输出参数。curve_type CurveType可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。bucket_size uint32可选，用于指定 PSI 中使用的哈希桶大小。preprocess_path string可选，用于指定离线预处理文件的路径。ecdh_secret_key_path string可选，ECDH-OPRF 的密钥路径，256 位（32 字节）二进制文件。dppsi_params DpPsiParams可选，DP-PSI 的参数。 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 psi_type PsiTypePSI 类型。receiver_rank uint32指定接收方编号。该接收方将获取 PSI 结果。broadcast_result bool是否将 PSI 结果广播给所有参与者。input_params InputParamsPSI 的输入参数。output_params OutputParamsPSI 的输出参数。curve_type CurveType可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。bucket_size uint32可选，用于指定 PSI 中使用的哈希桶大小。preprocess_path string可选，用于指定离线预处理文件的路径。ecdh_secret_key_path string可选，ECDH-OPRF 的密钥路径，256 位（32 字节）二进制文件。dppsi_params DpPsiParams可选，DP-PSI 的参数。 psi_type PsiTypePSI 类型。 psi_type psi_type  PsiType  PsiType  PsiType PSI 类型。 PSI 类型。 receiver_rank uint32指定接收方编号。该接收方将获取 PSI 结果。 receiver_rank receiver_rank  uint32  uint32  uint32  uint32 指定接收方编号。该接收方将获取 PSI 结果。 指定接收方编号。该接收方将获取 PSI 结果。 broadcast_result bool是否将 PSI 结果广播给所有参与者。 broadcast_result broadcast_result  bool  bool  bool  bool 是否将 PSI 结果广播给所有参与者。 是否将 PSI 结果广播给所有参与者。 input_params InputParamsPSI 的输入参数。 input_params input_params  InputParams  InputParams  InputParams PSI 的输入参数。 PSI 的输入参数。 output_params OutputParamsPSI 的输出参数。 output_params output_params  OutputParams  OutputParams  OutputParams PSI 的输出参数。 PSI 的输出参数。 curve_type CurveType可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。 curve_type curve_type  CurveType  CurveType  CurveType 可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。 可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。 bucket_size uint32可选，用于指定 PSI 中使用的哈希桶大小。 bucket_size bucket_size  uint32  uint32  uint32  uint32 可选，用于指定 PSI 中使用的哈希桶大小。 可选，用于指定 PSI 中使用的哈希桶大小。 preprocess_path string可选，用于指定离线预处理文件的路径。 preprocess_path preprocess_path  string  string  string  string 可选，用于指定离线预处理文件的路径。 可选，用于指定离线预处理文件的路径。 ecdh_secret_key_path string可选，ECDH-OPRF 的密钥路径，256 位（32 字节）二进制文件。 ecdh_secret_key_path ecdh_secret_key_path  string  string  string  string 可选，ECDH-OPRF 的密钥路径，256 位（32 字节）二进制文件。 可选，ECDH-OPRF 的密钥路径，256 位（32 字节）二进制文件。 dppsi_params DpPsiParams可选，DP-PSI 的参数。 dppsi_params dppsi_params  DpPsiParams  DpPsiParams  DpPsiParams 可选，DP-PSI 的参数。 可选，DP-PSI 的参数。  "},"85":{"url":"/psi/main/zh-CN/reference/psi_config#dppsiparams","type":"fragment","title":"PSI v1 配置 - DpPsiParams","content":"DP-PSI 的输入参数。 字段类型描述bob_sub_sampling doubleBob 子采样使用的 bernoulli_distribution 概率。epsilon doubleDP epsilon 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 bob_sub_sampling doubleBob 子采样使用的 bernoulli_distribution 概率。epsilon doubleDP epsilon bob_sub_sampling doubleBob 子采样使用的 bernoulli_distribution 概率。 bob_sub_sampling bob_sub_sampling  double  double  double  double Bob 子采样使用的 bernoulli_distribution 概率。 Bob 子采样使用的 bernoulli_distribution 概率。 epsilon doubleDP epsilon epsilon epsilon  double  double  double  double DP epsilon DP epsilon  "},"86":{"url":"/psi/main/zh-CN/reference/psi_config#inputparams","type":"fragment","title":"PSI v1 配置 - 输入参数","content":" PSI 的输入参数。 字段类型描述path string输入 CSV 文件的路径。select_fieldsrepeated string输入数据中需选择字段。precheck bool是否检查选择字段是否重复。 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 path string输入 CSV 文件的路径。select_fieldsrepeated string输入数据中需选择字段。precheck bool是否检查选择字段是否重复。 path string输入 CSV 文件的路径。 path path  string  string  string  string 输入 CSV 文件的路径。 输入 CSV 文件的路径。 select_fieldsrepeated string输入数据中需选择字段。 select_fields select_fields repeated string repeated string repeated string repeated string 输入数据中需选择字段。 输入数据中需选择字段。 precheck bool是否检查选择字段是否重复。 precheck precheck  bool  bool  bool  bool 是否检查选择字段是否重复。 是否检查选择字段是否重复。  "},"87":{"url":"/psi/main/zh-CN/reference/psi_config#memorypsiconfig","type":"fragment","title":"PSI v1 配置 - MemoryPsiConfig","content":" PSI 在内存中的配置。  字段类型描述psi_type PsiTypePSI 类型。receiver_rank uint32指定接收方编号。该接收方将获取 PSI 结果。broadcast_result bool是否将 PSI 结果广播给所有参与者。curve_type CurveType可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。dppsi_params DpPsiParams可选，DP-PSI 的参数。 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 psi_type PsiTypePSI 类型。receiver_rank uint32指定接收方编号。该接收方将获取 PSI 结果。broadcast_result bool是否将 PSI 结果广播给所有参与者。curve_type CurveType可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。dppsi_params DpPsiParams可选，DP-PSI 的参数。 psi_type PsiTypePSI 类型。 psi_type psi_type  PsiType  PsiType  PsiType PSI 类型。 PSI 类型。 receiver_rank uint32指定接收方编号。该接收方将获取 PSI 结果。 receiver_rank receiver_rank  uint32  uint32  uint32  uint32 指定接收方编号。该接收方将获取 PSI 结果。 指定接收方编号。该接收方将获取 PSI 结果。 broadcast_result bool是否将 PSI 结果广播给所有参与者。 broadcast_result broadcast_result  bool  bool  bool  bool 是否将 PSI 结果广播给所有参与者。 是否将 PSI 结果广播给所有参与者。 curve_type CurveType可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。 curve_type curve_type  CurveType  CurveType  CurveType 可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。 可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。 dppsi_params DpPsiParams可选，DP-PSI 的参数。 dppsi_params dppsi_params  DpPsiParams  DpPsiParams  DpPsiParams 可选，DP-PSI 的参数。 可选，DP-PSI 的参数。  "},"88":{"url":"/psi/main/zh-CN/reference/psi_config#outputparams","type":"fragment","title":"PSI v1 配置 - 输出参数","content":" PSI 的输出参数。 字段类型描述path string输出 CSV 文件的路径。need_sort bool是否按选择字段对输出文件进行排序。 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 path string输出 CSV 文件的路径。need_sort bool是否按选择字段对输出文件进行排序。 path string输出 CSV 文件的路径。 path path  string  string  string  string 输出 CSV 文件的路径。 输出 CSV 文件的路径。 need_sort bool是否按选择字段对输出文件进行排序。 need_sort need_sort  bool  bool  bool  bool 是否按选择字段对输出文件进行排序。 是否按选择字段对输出文件进行排序。  "},"89":{"url":"/psi/main/zh-CN/reference/psi_config#psiresultreport","type":"fragment","title":"PSI v1 配置 - PsiResultReport","content":"PSI 结果报告。 字段类型描述original_count int64输入数据量。intersection_count int64交集数据量。当本方无法获取结果时，返回 -1。original_key_count int64noneintersection_key_count int64none 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 original_count int64输入数据量。intersection_count int64交集数据量。当本方无法获取结果时，返回 -1。original_key_count int64noneintersection_key_count int64none original_count int64输入数据量。 original_count original_count  int64  int64  int64  int64 输入数据量。 输入数据量。 intersection_count int64交集数据量。当本方无法获取结果时，返回 -1。 intersection_count intersection_count  int64  int64  int64  int64 交集数据量。当本方无法获取结果时，返回 -1。 交集数据量。当本方无法获取结果时，返回 -1。 -1 original_key_count int64none original_key_count original_key_count  int64  int64  int64  int64 none none intersection_key_count int64none intersection_key_count intersection_key_count  int64  int64  int64  int64 none none  "},"90":{"url":"/psi/main/zh-CN/reference/psi_config#enums","type":"fragment","title":"PSI v1 配置 - 枚举","content":""},"91":{"url":"/psi/main/zh-CN/reference/psi_config#curvetype","type":"fragment","title":"PSI v1 配置 - CurveType","content":"PSI 中使用的指定椭圆曲线密码算法。 名称编号描述CURVE_INVALID_TYPE0noneCURVE_255191Daniel J. Bernstein：Curve25519——新的 Diffie-Hellman 速度记录CURVE_FOURQ2FourQ：在 Mersenne 素数上的 Q 曲线进行四维分解CURVE_SM23SM2 是一种基于椭圆曲线的密码系统（ECC），已作为中国国家标准 GBT 32918.1-2016 发布，并被收录于国际标准 ISO/IEC 14888-3 中。CURVE_SECP256K14该椭圆曲线的参数定义于《高效密码学标准（SEC）》：http://www.secg.org/sec2-v2.pdfCURVE_25519_ELLIGATOR25带有 rfc9380 elligator2 hash_to_curve 的 Curve25519 名称编号描述 名称编号描述 名称 名称 编号 编号 描述 描述 CURVE_INVALID_TYPE0noneCURVE_255191Daniel J. Bernstein：Curve25519——新的 Diffie-Hellman 速度记录CURVE_FOURQ2FourQ：在 Mersenne 素数上的 Q 曲线进行四维分解CURVE_SM23SM2 是一种基于椭圆曲线的密码系统（ECC），已作为中国国家标准 GBT 32918.1-2016 发布，并被收录于国际标准 ISO/IEC 14888-3 中。CURVE_SECP256K14该椭圆曲线的参数定义于《高效密码学标准（SEC）》：http://www.secg.org/sec2-v2.pdfCURVE_25519_ELLIGATOR25带有 rfc9380 elligator2 hash_to_curve 的 Curve25519 CURVE_INVALID_TYPE0none CURVE_INVALID_TYPE CURVE_INVALID_TYPE 0 0 none none CURVE_255191Daniel J. Bernstein：Curve25519——新的 Diffie-Hellman 速度记录 CURVE_25519 CURVE_25519 1 1 Daniel J. Bernstein：Curve25519——新的 Diffie-Hellman 速度记录 Daniel J. Bernstein：Curve25519——新的 Diffie-Hellman 速度记录 CURVE_FOURQ2FourQ：在 Mersenne 素数上的 Q 曲线进行四维分解 CURVE_FOURQ CURVE_FOURQ 2 2 FourQ：在 Mersenne 素数上的 Q 曲线进行四维分解 FourQ：在 Mersenne 素数上的 Q 曲线进行四维分解 CURVE_SM23SM2 是一种基于椭圆曲线的密码系统（ECC），已作为中国国家标准 GBT 32918.1-2016 发布，并被收录于国际标准 ISO/IEC 14888-3 中。 CURVE_SM2 CURVE_SM2 3 3 SM2 是一种基于椭圆曲线的密码系统（ECC），已作为中国国家标准 GBT 32918.1-2016 发布，并被收录于国际标准 ISO/IEC 14888-3 中。 SM2 是一种基于椭圆曲线的密码系统（ECC），已作为中国国家标准 GBT 32918.1-2016 发布，并被收录于国际标准 ISO/IEC 14888-3 中。 CURVE_SECP256K14该椭圆曲线的参数定义于《高效密码学标准（SEC）》：http://www.secg.org/sec2-v2.pdf CURVE_SECP256K1 CURVE_SECP256K1 4 4 该椭圆曲线的参数定义于《高效密码学标准（SEC）》：http://www.secg.org/sec2-v2.pdf 该椭圆曲线的参数定义于《高效密码学标准（SEC）》：http://www.secg.org/sec2-v2.pdf http://www.secg.org/sec2-v2.pdf CURVE_25519_ELLIGATOR25带有 rfc9380 elligator2 hash_to_curve 的 Curve25519 CURVE_25519_ELLIGATOR2 CURVE_25519_ELLIGATOR2 5 5 带有 rfc9380 elligator2 hash_to_curve 的 Curve25519 带有 rfc9380 elligator2 hash_to_curve 的 Curve25519 "},"92":{"url":"/psi/main/zh-CN/reference/psi_config#psitype","type":"fragment","title":"PSI v1 配置 - PsiType","content":" PSI 的算法类型。 名称编号描述INVALID_PSI_TYPE0noneECDH_PSI_2PC1注意：不再支持 基于 DDH 的 PSIKKRT_PSI_2PC2注意：不再支持 高效批处理的不经意伪随机函数及其在隐私集合求交中的应用 https://eprint.iacr.org/2016/799.pdfECDH_PSI_3PC4基于 ECDH 的多方 PSI（例如 A、B、C（接收方））注意：会泄露两方交集的基数（ECDH_PSI_NPC5迭代运行双方 ECDH PSI 以获得多方 PSI。注意：会泄露两方交集KKRT_PSI_NPC6迭代运行双方 KKRT PSI 以获得多方 PSI。注意：会泄露两方交集ECDH_OPRF_UB_PSI_2PC_GEN_CACHE7注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，生成缓存阶段。ECDH_OPRF_UB_PSI_2PC_TRANSFER_CACHE8注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，传输缓存阶段。ECDH_OPRF_UB_PSI_2PC_OFFLINE9注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，离线阶段。ECDH_OPRF_UB_PSI_2PC_ONLINE10注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，在线阶段。ECDH_OPRF_UB_PSI_2PC_SHUFFLE_ONLINE11注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，含打乱处理的在线阶段。大集合方获得交集结果。DP_PSI_2PC12差分隐私 PSI（DP-PSI），基于 ECDH-PSI。详情见：https://arxiv.org/pdf/2208.13249.pdf，支持差分隐私保护的 PSI 结果。RR22_FAST_PSI_2PC13注意：不再支持 基于 Blazing Fast PSI 的两种模式：快速模式和低通信模式。详情见：https://eprint.iacr.org/2022/320.pdfRR22_LOWCOMM_PSI_2PC14noneRR22_MALICIOUS_PSI_2PC15none 名称编号描述 名称编号描述 名称 名称 编号 编号 描述 描述 INVALID_PSI_TYPE0noneECDH_PSI_2PC1注意：不再支持 基于 DDH 的 PSIKKRT_PSI_2PC2注意：不再支持 高效批处理的不经意伪随机函数及其在隐私集合求交中的应用 https://eprint.iacr.org/2016/799.pdfECDH_PSI_3PC4基于 ECDH 的多方 PSI（例如 A、B、C（接收方））注意：会泄露两方交集的基数（ECDH_PSI_NPC5迭代运行双方 ECDH PSI 以获得多方 PSI。注意：会泄露两方交集KKRT_PSI_NPC6迭代运行双方 KKRT PSI 以获得多方 PSI。注意：会泄露两方交集ECDH_OPRF_UB_PSI_2PC_GEN_CACHE7注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，生成缓存阶段。ECDH_OPRF_UB_PSI_2PC_TRANSFER_CACHE8注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，传输缓存阶段。ECDH_OPRF_UB_PSI_2PC_OFFLINE9注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，离线阶段。ECDH_OPRF_UB_PSI_2PC_ONLINE10注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，在线阶段。ECDH_OPRF_UB_PSI_2PC_SHUFFLE_ONLINE11注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，含打乱处理的在线阶段。大集合方获得交集结果。DP_PSI_2PC12差分隐私 PSI（DP-PSI），基于 ECDH-PSI。详情见：https://arxiv.org/pdf/2208.13249.pdf，支持差分隐私保护的 PSI 结果。RR22_FAST_PSI_2PC13注意：不再支持 基于 Blazing Fast PSI 的两种模式：快速模式和低通信模式。详情见：https://eprint.iacr.org/2022/320.pdfRR22_LOWCOMM_PSI_2PC14noneRR22_MALICIOUS_PSI_2PC15none INVALID_PSI_TYPE0none INVALID_PSI_TYPE INVALID_PSI_TYPE 0 0 none none ECDH_PSI_2PC1注意：不再支持 基于 DDH 的 PSI ECDH_PSI_2PC ECDH_PSI_2PC 1 1 注意：不再支持 基于 DDH 的 PSI 注意：不再支持 基于 DDH 的 PSI 注意：不再支持 KKRT_PSI_2PC2注意：不再支持 高效批处理的不经意伪随机函数及其在隐私集合求交中的应用 https://eprint.iacr.org/2016/799.pdf KKRT_PSI_2PC KKRT_PSI_2PC 2 2 注意：不再支持 高效批处理的不经意伪随机函数及其在隐私集合求交中的应用 https://eprint.iacr.org/2016/799.pdf 注意：不再支持 高效批处理的不经意伪随机函数及其在隐私集合求交中的应用 https://eprint.iacr.org/2016/799.pdf 注意：不再支持 https://eprint.iacr.org/2016/799.pdf ECDH_PSI_3PC4基于 ECDH 的多方 PSI（例如 A、B、C（接收方））注意：会泄露两方交集的基数（ ECDH_PSI_3PC ECDH_PSI_3PC 4 4 基于 ECDH 的多方 PSI（例如 A、B、C（接收方））注意：会泄露两方交集的基数（ 基于 ECDH 的多方 PSI（例如 A、B、C（接收方））注意：会泄露两方交集的基数（ ECDH_PSI_NPC5迭代运行双方 ECDH PSI 以获得多方 PSI。注意：会泄露两方交集 ECDH_PSI_NPC ECDH_PSI_NPC 5 5 迭代运行双方 ECDH PSI 以获得多方 PSI。注意：会泄露两方交集 迭代运行双方 ECDH PSI 以获得多方 PSI。注意：会泄露两方交集 KKRT_PSI_NPC6迭代运行双方 KKRT PSI 以获得多方 PSI。注意：会泄露两方交集 KKRT_PSI_NPC KKRT_PSI_NPC 6 6 迭代运行双方 KKRT PSI 以获得多方 PSI。注意：会泄露两方交集 迭代运行双方 KKRT PSI 以获得多方 PSI。注意：会泄露两方交集 ECDH_OPRF_UB_PSI_2PC_GEN_CACHE7注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，生成缓存阶段。 ECDH_OPRF_UB_PSI_2PC_GEN_CACHE ECDH_OPRF_UB_PSI_2PC_GEN_CACHE 7 7 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，生成缓存阶段。 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，生成缓存阶段。 注意：不再支持 ECDH_OPRF_UB_PSI_2PC_TRANSFER_CACHE8注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，传输缓存阶段。 ECDH_OPRF_UB_PSI_2PC_TRANSFER_CACHE ECDH_OPRF_UB_PSI_2PC_TRANSFER_CACHE 8 8 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，传输缓存阶段。 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，传输缓存阶段。 注意：不再支持 ECDH_OPRF_UB_PSI_2PC_OFFLINE9注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，离线阶段。 ECDH_OPRF_UB_PSI_2PC_OFFLINE ECDH_OPRF_UB_PSI_2PC_OFFLINE 9 9 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，离线阶段。 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，离线阶段。 注意：不再支持 ECDH_OPRF_UB_PSI_2PC_ONLINE10注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，在线阶段。 ECDH_OPRF_UB_PSI_2PC_ONLINE ECDH_OPRF_UB_PSI_2PC_ONLINE 10 10 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，在线阶段。 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，在线阶段。 注意：不再支持 ECDH_OPRF_UB_PSI_2PC_SHUFFLE_ONLINE11注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，含打乱处理的在线阶段。大集合方获得交集结果。 ECDH_OPRF_UB_PSI_2PC_SHUFFLE_ONLINE ECDH_OPRF_UB_PSI_2PC_SHUFFLE_ONLINE 11 11 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，含打乱处理的在线阶段。大集合方获得交集结果。 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，含打乱处理的在线阶段。大集合方获得交集结果。 注意：不再支持 DP_PSI_2PC12差分隐私 PSI（DP-PSI），基于 ECDH-PSI。详情见：https://arxiv.org/pdf/2208.13249.pdf，支持差分隐私保护的 PSI 结果。 DP_PSI_2PC DP_PSI_2PC 12 12 差分隐私 PSI（DP-PSI），基于 ECDH-PSI。详情见：https://arxiv.org/pdf/2208.13249.pdf，支持差分隐私保护的 PSI 结果。 差分隐私 PSI（DP-PSI），基于 ECDH-PSI。详情见：https://arxiv.org/pdf/2208.13249.pdf，支持差分隐私保护的 PSI 结果。 https://arxiv.org/pdf/2208.13249.pdf，支持差分隐私保护的 RR22_FAST_PSI_2PC13注意：不再支持 基于 Blazing Fast PSI 的两种模式：快速模式和低通信模式。详情见：https://eprint.iacr.org/2022/320.pdf RR22_FAST_PSI_2PC RR22_FAST_PSI_2PC 13 13 注意：不再支持 基于 Blazing Fast PSI 的两种模式：快速模式和低通信模式。详情见：https://eprint.iacr.org/2022/320.pdf 注意：不再支持 基于 Blazing Fast PSI 的两种模式：快速模式和低通信模式。详情见：https://eprint.iacr.org/2022/320.pdf 注意：不再支持 https://eprint.iacr.org/2022/320.pdf RR22_LOWCOMM_PSI_2PC14none RR22_LOWCOMM_PSI_2PC RR22_LOWCOMM_PSI_2PC 14 14 none none RR22_MALICIOUS_PSI_2PC15none RR22_MALICIOUS_PSI_2PC RR22_MALICIOUS_PSI_2PC 15 15 none none  "},"93":{"url":"/psi/main/zh-CN/reference/psi_config#scalar-value-types","type":"fragment","title":"PSI v1 配置 - 标量值类型","content":".proto 类型备注C++ 类型Java 类型Python 类型 doubledoubledoublefloat floatfloatfloatfloat int32使用可变长度编码。对于编码负值时效率低下，如果字段可能具有负值，请使用 sint32 代替。int32intint int64使用可变长度编码。对于编码负值时效率低下，如果字段可能具有负值，请使用 sint64 代替。int64longint/long uint32使用可变长度编码。uint32intint/long uint64使用可变长度编码。uint64longint/long sint32使用可变长度编码。有符号整数值。这些编码效率更高，可以更有效地编码负数。int32intint sint64使用可变长度编码。有符号整数值。这些编码效率更高，可以更有效地编码负数。int64longint/long fixed32总是四个字节。如果值经常大于 2^28，则比 uint32 更高效。uint32intint fixed64总是八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32总是四个字节。int32intint sfixed64总是八个字节。int64longint/long boolboolbooleanboolean string字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本。stringStringstr/unicode bytes可能包含任何任意字节序列。stringByteStringstr .proto 类型备注C++ 类型Java 类型Python 类型 .proto 类型备注C++ 类型Java 类型Python 类型 .proto 类型 .proto 类型 备注 备注 C++ 类型 C++ 类型 Java 类型 Java 类型 Python 类型 Python 类型  doubledoubledoublefloat floatfloatfloatfloat int32使用可变长度编码。对于编码负值时效率低下，如果字段可能具有负值，请使用 sint32 代替。int32intint int64使用可变长度编码。对于编码负值时效率低下，如果字段可能具有负值，请使用 sint64 代替。int64longint/long uint32使用可变长度编码。uint32intint/long uint64使用可变长度编码。uint64longint/long sint32使用可变长度编码。有符号整数值。这些编码效率更高，可以更有效地编码负数。int32intint sint64使用可变长度编码。有符号整数值。这些编码效率更高，可以更有效地编码负数。int64longint/long fixed32总是四个字节。如果值经常大于 2^28，则比 uint32 更高效。uint32intint fixed64总是八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32总是四个字节。int32intint sfixed64总是八个字节。int64longint/long boolboolbooleanboolean string字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本。stringStringstr/unicode bytes可能包含任何任意字节序列。stringByteStringstr  doubledoubledoublefloat  double  double  "},"94":{"url":"/psi/main/zh-CN/reference/launch_config#launch-configuration","type":"fragment","title":"启动配置","content":"请在PSI v1配置中查看psi.BucketPsiConfig。请在PSI v2配置中查看psi.v2.PsiConfig和psi.v2.UbPsiConfig。 "},"95":{"url":"/psi/main/zh-CN/reference/launch_config#table-of-contents","type":"fragment","title":"启动配置 - 目录","content":"\nMessages\n\nLaunchConfig\n\n\nMessages\n\nAllocatedPorts\nClusterDefine\nParty\nPort\nService\nTaskInputConfig\nTaskInputConfig.SfPsiConfigMapEntry\n\n\nMessages\n\nContextDescProto\nPartyProto\nRetryOptionsProto\nSSLOptionsProto\n\n\nScalar Value Types\n Messages\n\nLaunchConfig\n\n \nLaunchConfig\n LaunchConfig LaunchConfig Messages\n\nAllocatedPorts\nClusterDefine\nParty\nPort\nService\nTaskInputConfig\nTaskInputConfig.SfPsiConfigMapEntry\n\n \nAllocatedPorts\nClusterDefine\nParty\nPort\nService\nTaskInputConfig\nTaskInputConfig.SfPsiConfigMapEntry\n AllocatedPorts AllocatedPorts ClusterDefine ClusterDefine Party Party Port Port Service Service TaskInputConfig TaskInputConfig TaskInputConfig.SfPsiConfigMapEntry TaskInputConfig.SfPsiConfigMapEntry Messages\n\nContextDescProto\nPartyProto\nRetryOptionsProto\nSSLOptionsProto\n\n \nContextDescProto\nPartyProto\nRetryOptionsProto\nSSLOptionsProto\n ContextDescProto ContextDescProto PartyProto PartyProto RetryOptionsProto RetryOptionsProto SSLOptionsProto SSLOptionsProto Scalar Value Types Scalar Value Types  "},"96":{"url":"/psi/main/zh-CN/reference/launch_config#messages","type":"fragment","title":"启动配置 - Messages","content":""},"97":{"url":"/psi/main/zh-CN/reference/launch_config#launchconfig","type":"fragment","title":"启动配置 - LaunchConfig","content":"FieldTypeDescriptionlink_config yacl.link.ContextDescProto网络配置self_link_party string使用链路配置oneof runtime_config.legacy_psi_config BucketPsiConfig请检查 psi.proto 文件oneof runtime_config.psi_config v2.PsiConfig请检查 psi_v2.proto 文件oneof runtime_config.ub_psi_config v2.UbPsiConfig请检查 psi_v2.proto 文件oneof runtime_config.apsi_sender_config ApsiSenderConfig请检查 psi.proto 文件oneof runtime_config.apsi_receiver_config ApsiReceiverConfig无 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description link_config yacl.link.ContextDescProto网络配置self_link_party string使用链路配置oneof runtime_config.legacy_psi_config BucketPsiConfig请检查 psi.proto 文件oneof runtime_config.psi_config v2.PsiConfig请检查 psi_v2.proto 文件oneof runtime_config.ub_psi_config v2.UbPsiConfig请检查 psi_v2.proto 文件oneof runtime_config.apsi_sender_config ApsiSenderConfig请检查 psi.proto 文件oneof runtime_config.apsi_receiver_config ApsiReceiverConfig无 link_config yacl.link.ContextDescProto网络配置 link_config link_config  yacl.link.ContextDescProto  yacl.link.ContextDescProto  yacl.link.ContextDescProto  yacl.link.ContextDescProto 网络配置 网络配置 self_link_party string使用链路配置 self_link_party self_link_party  string  string  string  string 使用链路配置 使用链路配置 oneof runtime_config.legacy_psi_config BucketPsiConfig请检查 psi.proto 文件 oneof runtime_config.legacy_psi_config oneof runtime_config.legacy_psi_config oneof oneof  BucketPsiConfig  BucketPsiConfig  BucketPsiConfig  BucketPsiConfig 请检查 psi.proto 文件 请检查 psi.proto 文件 oneof runtime_config.psi_config v2.PsiConfig请检查 psi_v2.proto 文件 oneof runtime_config.psi_config oneof runtime_config.psi_config oneof oneof  v2.PsiConfig  v2.PsiConfig  v2.PsiConfig  v2.PsiConfig 请检查 psi_v2.proto 文件 请检查 psi_v2.proto 文件 oneof runtime_config.ub_psi_config v2.UbPsiConfig请检查 psi_v2.proto 文件 oneof runtime_config.ub_psi_config oneof runtime_config.ub_psi_config oneof oneof  v2.UbPsiConfig  v2.UbPsiConfig  v2.UbPsiConfig  v2.UbPsiConfig 请检查 psi_v2.proto 文件 请检查 psi_v2.proto 文件 oneof runtime_config.apsi_sender_config ApsiSenderConfig请检查 psi.proto 文件 oneof runtime_config.apsi_sender_config oneof runtime_config.apsi_sender_config oneof oneof  ApsiSenderConfig  ApsiSenderConfig  ApsiSenderConfig  ApsiSenderConfig 请检查 psi.proto 文件 请检查 psi.proto 文件 oneof runtime_config.apsi_receiver_config ApsiReceiverConfig无 oneof runtime_config.apsi_receiver_config oneof runtime_config.apsi_receiver_config oneof oneof  ApsiReceiverConfig  ApsiReceiverConfig  ApsiReceiverConfig  ApsiReceiverConfig 无 无  "},"98":{"url":"/psi/main/zh-CN/reference/launch_config#enums","type":"fragment","title":"启动配置 - Enums","content":" "},"99":{"url":"/psi/main/zh-CN/reference/launch_config#id1","type":"fragment","title":"启动配置 - Messages","content":""},"100":{"url":"/psi/main/zh-CN/reference/launch_config#allocatedports","type":"fragment","title":"启动配置 - AllocatedPorts","content":"AllocatedPorts 表示 Pod 的已分配端口 FieldTypeDescriptionportsrepeated Port已分配的端口 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description portsrepeated Port已分配的端口 portsrepeated Port已分配的端口 ports ports repeated Port repeated Port repeated Port 已分配的端口 已分配的端口  "},"101":{"url":"/psi/main/zh-CN/reference/launch_config#clusterdefine","type":"fragment","title":"启动配置 - ClusterDefine","content":"ClusterDefine 代表所有参与方的信息 FieldTypeDescriptionpartiesrepeated Party所有参与方的基本信息self_party_idx int32自身参与方的索引self_endpoint_idx int32自身端点的索引 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description partiesrepeated Party所有参与方的基本信息self_party_idx int32自身参与方的索引self_endpoint_idx int32自身端点的索引 partiesrepeated Party所有参与方的基本信息 parties parties repeated Party repeated Party repeated Party 所有参与方的基本信息 所有参与方的基本信息 self_party_idx int32自身参与方的索引 self_party_idx self_party_idx  int32  int32  int32  int32 自身参与方的索引 自身参与方的索引 self_endpoint_idx int32自身端点的索引 self_endpoint_idx self_endpoint_idx  int32  int32  int32  int32 自身端点的索引 自身端点的索引  "},"102":{"url":"/psi/main/zh-CN/reference/launch_config#party","type":"fragment","title":"启动配置 - Party","content":"Party 表示参与方的基本信息 FieldTypeDescriptionname string参与方名称role string与方承担的角色。例如：客户端、服务端...servicesrepeated ServicePod 对外提供的服务列表 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description name string参与方名称role string与方承担的角色。例如：客户端、服务端...servicesrepeated ServicePod 对外提供的服务列表 name string参与方名称 name name  string  string  string  string 参与方名称 参与方名称 role string与方承担的角色。例如：客户端、服务端... role role  string  string  string  string 与方承担的角色。例如：客户端、服务端... 与方承担的角色。例如：客户端、服务端... servicesrepeated ServicePod 对外提供的服务列表 services services repeated Service repeated Service repeated Service Pod 对外提供的服务列表 Pod 对外提供的服务列表  "},"103":{"url":"/psi/main/zh-CN/reference/launch_config#port","type":"fragment","title":"启动配置 - Port","content":"Port 表示 Pod 的已分配端口 FieldTypeDescriptionname stringPod 内每个命名的端口名称必须唯一port int32Pod 分配的端口数scope string端口的作用范围。必须为 Cluster、Domain 或 Local。默认为 “Local”. +optionalprotocol string端口的协议。必须为 HTTP 或 GRPC。默认为 “HTTP”. +optional FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description name stringPod 内每个命名的端口名称必须唯一port int32Pod 分配的端口数scope string端口的作用范围。必须为 Cluster、Domain 或 Local。默认为 “Local”. +optionalprotocol string端口的协议。必须为 HTTP 或 GRPC。默认为 “HTTP”. +optional name stringPod 内每个命名的端口名称必须唯一 name name  string  string  string  string Pod 内每个命名的端口名称必须唯一 Pod 内每个命名的端口名称必须唯一 port int32Pod 分配的端口数 port port  int32  int32  int32  int32 Pod 分配的端口数 Pod 分配的端口数 scope string端口的作用范围。必须为 Cluster、Domain 或 Local。默认为 “Local”. +optional scope scope  string  string  string  string 端口的作用范围。必须为 Cluster、Domain 或 Local。默认为 “Local”. +optional 端口的作用范围。必须为 Cluster、Domain 或 Local。默认为 “Local”. +optional protocol string端口的协议。必须为 HTTP 或 GRPC。默认为 “HTTP”. +optional protocol protocol  string  string  string  string 端口的协议。必须为 HTTP 或 GRPC。默认为 “HTTP”. +optional 端口的协议。必须为 HTTP 或 GRPC。默认为 “HTTP”. +optional  "},"104":{"url":"/psi/main/zh-CN/reference/launch_config#service","type":"fragment","title":"启动配置 - Service","content":"Service 表示与端口对应的服务地址 FieldTypeDescriptionport_name string端口名称endpointsrepeated string与端口对应的端点列表 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description port_name string端口名称endpointsrepeated string与端口对应的端点列表 port_name string端口名称 port_name port_name  string  string  string  string 端口名称 端口名称 endpointsrepeated string与端口对应的端点列表 endpoints endpoints repeated string repeated string repeated string repeated string 与端口对应的端点列表 与端口对应的端点列表  "},"105":{"url":"/psi/main/zh-CN/reference/launch_config#taskinputconfig","type":"fragment","title":"启动配置 - TaskInputConfig","content":"FieldTypeDescriptionsf_psi_config_mapmap TaskInputConfig.SfPsiConfigMapEntry无 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description sf_psi_config_mapmap TaskInputConfig.SfPsiConfigMapEntry无 sf_psi_config_mapmap TaskInputConfig.SfPsiConfigMapEntry无 sf_psi_config_map sf_psi_config_map map TaskInputConfig.SfPsiConfigMapEntry map TaskInputConfig.SfPsiConfigMapEntry map TaskInputConfig.SfPsiConfigMapEntry 无 无  "},"106":{"url":"/psi/main/zh-CN/reference/launch_config#taskinputconfig-sfpsiconfigmapentry","type":"fragment","title":"启动配置 - TaskInputConfig.SfPsiConfigMapEntry","content":"FieldTypeDescriptionkey string无value psi.LaunchConfig无 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description key string无value psi.LaunchConfig无 key string无 key key  string  string  string  string 无 无 value psi.LaunchConfig无 value value  psi.LaunchConfig  psi.LaunchConfig  psi.LaunchConfig  psi.LaunchConfig 无 无  "},"107":{"url":"/psi/main/zh-CN/reference/launch_config#id2","type":"fragment","title":"启动配置 - Enums","content":" "},"108":{"url":"/psi/main/zh-CN/reference/launch_config#id3","type":"fragment","title":"启动配置 - Messages","content":""},"109":{"url":"/psi/main/zh-CN/reference/launch_config#contextdescproto","type":"fragment","title":"启动配置 - ContextDescProto","content":"链路配置的设置 FieldTypeDescriptionid string此次通信的 UUIDpartiesrepeated PartyProto参与方描述，描述世界connect_retry_times uint32\"\"连接到网格的重试时间connect_retry_interval_ms uint32\"\"连接到网格的重试间隔recv_timeout_ms uint64接收超时时间（单位为毫秒）。 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description id string此次通信的 UUIDpartiesrepeated PartyProto参与方描述，描述世界connect_retry_times uint32\"\"连接到网格的重试时间connect_retry_interval_ms uint32\"\"连接到网格的重试间隔recv_timeout_ms uint64接收超时时间（单位为毫秒）。 id string此次通信的 UUID id id  string  string  string  string 此次通信的 UUID 此次通信的 UUID partiesrepeated PartyProto参与方描述，描述世界 parties parties repeated PartyProto repeated PartyProto repeated PartyProto 参与方描述，描述世界 参与方描述，描述世界 connect_retry_times uint32\"\"连接到网格的重试时间 connect_retry_times connect_retry_times  uint32\"\"  uint32\"\"  uint32  uint32 连接到网格的重试时间 连接到网格的重试时间 connect_retry_interval_ms uint32\"\"连接到网格的重试间隔 connect_retry_interval_ms connect_retry_interval_ms  uint32\"\"  uint32\"\"  uint32  uint32 连接到网格的重试间隔 连接到网格的重试间隔 recv_timeout_ms uint64接收超时时间（单位为毫秒）。 recv_timeout_ms recv_timeout_ms  uint64  uint64  uint64  uint64 接收超时时间（单位为毫秒）。 接收超时时间（单位为毫秒）。 ‘接收时间’是一方等待某一特定事件的最长时间。例如： 开始接收  结束接收 |--------|-------接收-时间----------|------------------| alice的时间线 开始发送  结束发送 |-----忙碌-工作-------------|-------------|------------| bob的时间线 在上述例子中，当爱丽丝开始为某个特定事件进行接收操作时，bob仍在忙着做自己的事情。当alice的等待时间超过了等待超时时间（以毫秒为单位），它就会抛出异常，尽管此时鲍勃刚开始发送数据。 所以对于耗时较长的任务（在这种情况下一方可能需要等待另一方很长时间），这个值应该相应地进行调整。| | http最大负载大小” | 无符号32位整数（uint32） | 这是HTTP的最大负载大小。如果单个HTTP请求的大小超过了这个限制，它将被拆分成小的数据块，然后再重新组合起来。 无符号32位整数（uint32） This field does affect performance. Please choose wisely. | | http_timeout_ms |  uint32 | 单个HTTP请求的超时时间。 | | throttle_window_size |  uint32 | 通道的限流窗口大小。如果正在传输的消息数量超过了限制大小，SendAsync 将阻塞，直到消息被处理，或者在等待 recv_timeout_ms 后抛出异常 | | brpc_channel_protocol |  string | BRPC客户端通道协议。 | | brpc_channel_connection_type |  string | BRPC客户端通道连接类型。 | | enable_ssl |  bool | 链接通道的SSL选项。 | | client_ssl_opts |  SSLOptionsProto | 通道的SSL配置。如果 enable_ssl == false，则此配置将被忽略； | | server_ssl_opts |  SSLOptionsProto | 服务的SSL配置。如果 enable_ssl == false，则此配置将被忽略； | | chunk_parallel_send_size |  uint32 | 通道的分块并行发送大小。如果在发送消息时需要分块发送，最大并行发送大小为 chunk_parallel_send_size | | retry_opts |  RetryOptionsProto | 重试选项 |  uint32  uint32 SendAsync recv_timeout_ms  string  string  bool  SSLOptionsProto  SSLOptionsProto  uint32  RetryOptionsProto  "},"110":{"url":"/psi/main/zh-CN/reference/launch_config#partyproto","type":"fragment","title":"启动配置 - PartyProto","content":"FieldTypeDescriptionid string无host string无 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description id string无host string无 id string无 id id  string  string  string  string 无 无 host string无 host host  string  string  string  string 无 无  "},"111":{"url":"/psi/main/zh-CN/reference/launch_config#retryoptionsproto","type":"fragment","title":"启动配置 - RetryOptionsProto","content":"重试选项 FieldTypeDescriptionmax_retry uint32\"\"最大重试次数，默认为 3retry_interval_ms uint32\"\"首次重试时，重试之间的时间间隔，默认值为 1 秒。retry_interval_incr_ms uint32\"\"重试间隔增加的时间默认值为 2 秒max_retry_interval_ms uint32\"\"重试间隔的最大值默认值为 10 秒error_codesrepeated uint32针对这些 brpc 错误码进行重试，若为空，则对所有错误码重试http_codesrepeated uint32针对这些 http 错误码进行重试，若为空，则对所有 http 错误码重试aggressive_retry bool启用激进重试，即会在额外错误码上进行重试 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description max_retry uint32\"\"最大重试次数，默认为 3retry_interval_ms uint32\"\"首次重试时，重试之间的时间间隔，默认值为 1 秒。retry_interval_incr_ms uint32\"\"重试间隔增加的时间默认值为 2 秒max_retry_interval_ms uint32\"\"重试间隔的最大值默认值为 10 秒error_codesrepeated uint32针对这些 brpc 错误码进行重试，若为空，则对所有错误码重试http_codesrepeated uint32针对这些 http 错误码进行重试，若为空，则对所有 http 错误码重试aggressive_retry bool启用激进重试，即会在额外错误码上进行重试 max_retry uint32\"\"最大重试次数，默认为 3 max_retry max_retry  uint32\"\"  uint32\"\"  uint32  uint32 最大重试次数，默认为 3 最大重试次数，默认为 3 retry_interval_ms uint32\"\"首次重试时，重试之间的时间间隔，默认值为 1 秒。 retry_interval_ms retry_interval_ms  uint32\"\"  uint32\"\"  uint32  uint32 首次重试时，重试之间的时间间隔，默认值为 1 秒。 首次重试时，重试之间的时间间隔，默认值为 1 秒。 retry_interval_incr_ms uint32\"\"重试间隔增加的时间默认值为 2 秒 retry_interval_incr_ms retry_interval_incr_ms  uint32\"\"  uint32\"\"  uint32  uint32 重试间隔增加的时间默认值为 2 秒 重试间隔增加的时间默认值为 2 秒 max_retry_interval_ms uint32\"\"重试间隔的最大值默认值为 10 秒 max_retry_interval_ms max_retry_interval_ms  uint32\"\"  uint32\"\"  uint32  uint32 重试间隔的最大值默认值为 10 秒 重试间隔的最大值默认值为 10 秒 error_codesrepeated uint32针对这些 brpc 错误码进行重试，若为空，则对所有错误码重试 error_codes error_codes repeated uint32 repeated uint32 repeated uint32 repeated uint32 针对这些 brpc 错误码进行重试，若为空，则对所有错误码重试 针对这些 brpc 错误码进行重试，若为空，则对所有错误码重试 http_codesrepeated uint32针对这些 http 错误码进行重试，若为空，则对所有 http 错误码重试 http_codes http_codes repeated uint32 repeated uint32 repeated uint32 repeated uint32 针对这些 http 错误码进行重试，若为空，则对所有 http 错误码重试 针对这些 http 错误码进行重试，若为空，则对所有 http 错误码重试 aggressive_retry bool启用激进重试，即会在额外错误码上进行重试 aggressive_retry aggressive_retry  bool  bool  bool  bool 启用激进重试，即会在额外错误码上进行重试 启用激进重试，即会在额外错误码上进行重试  "},"112":{"url":"/psi/main/zh-CN/reference/launch_config#ssloptionsproto","type":"fragment","title":"启动配置 - SSLOptionsProto","content":"SSL 选项 FieldTypeDescriptioncertificate_path string证书文件地址private_key_path string私钥文件地址verify_depth int32设置证书链验证的最大深度。如果为 0，则关闭验证ca_file_path string设置受信任的证书颁发机构（CA）文件以验证对等方的证书。如果为空，则使用系统默认的CA文件。 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description certificate_path string证书文件地址private_key_path string私钥文件地址verify_depth int32设置证书链验证的最大深度。如果为 0，则关闭验证ca_file_path string设置受信任的证书颁发机构（CA）文件以验证对等方的证书。如果为空，则使用系统默认的CA文件。 certificate_path string证书文件地址 certificate_path certificate_path  string  string  string  string 证书文件地址 证书文件地址 private_key_path string私钥文件地址 private_key_path private_key_path  string  string  string  string 私钥文件地址 私钥文件地址 verify_depth int32设置证书链验证的最大深度。如果为 0，则关闭验证 verify_depth verify_depth  int32  int32  int32  int32 设置证书链验证的最大深度。如果为 0，则关闭验证 设置证书链验证的最大深度。如果为 0，则关闭验证 ca_file_path string设置受信任的证书颁发机构（CA）文件以验证对等方的证书。如果为空，则使用系统默认的CA文件。 ca_file_path ca_file_path  string  string  string  string 设置受信任的证书颁发机构（CA）文件以验证对等方的证书。如果为空，则使用系统默认的CA文件。 设置受信任的证书颁发机构（CA）文件以验证对等方的证书。如果为空，则使用系统默认的CA文件。  "},"113":{"url":"/psi/main/zh-CN/reference/launch_config#id4","type":"fragment","title":"启动配置 - Enums","content":" "},"114":{"url":"/psi/main/zh-CN/reference/launch_config#scalar-value-types","type":"fragment","title":"启动配置 - 标量值类型","content":".proto 类型NotesC++ 类型Java 类型Python 类型 doubledoubledoublefloat floatfloatfloatfloat int32使用变长编码。对负数编码效率较低——如果字段可能包含负值，请改用 sint32。int32intint int64使用变长编码。对负数编码效率较低——如果字段可能包含负值，请改用 sint64。int64longint/long uint32使用可变长度编码。uint32intint/long uint64使用可变长度编码。uint64longint/long sint32使用变长编码。有符号整数值。相比常规的 int32，它能更高效地编码负数。int32intint sint64使用变长编码。有符号整数值。相比常规的 int64，它能更高效地编码负数。int64longint/long fixed32始终为四个字节。如果值经常大于 2^28，则比 uint32 更高效。” 或 “固定为四字节。若数值常大于 2^28，则比 uint32 效率更高。uint32intint fixed64始终为八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32始终为四个字节int32intint sfixed64始终为八个字节int64longint/long boolboolbooleanboolean string字符串必须始终包含UTF-8编码的文本或7位ASCII文本。stringStringstr/unicode bytesMay contain any arbitrary sequence of bytes.stringByteStringstr .proto 类型NotesC++ 类型Java 类型Python 类型 .proto 类型NotesC++ 类型Java 类型Python 类型 .proto 类型 .proto 类型 Notes Notes C++ 类型 C++ 类型 Java 类型 Java 类型 Python 类型 Python 类型  doubledoubledoublefloat floatfloatfloatfloat int32使用变长编码。对负数编码效率较低——如果字段可能包含负值，请改用 sint32。int32intint int64使用变长编码。对负数编码效率较低——如果字段可能包含负值，请改用 sint64。int64longint/long uint32使用可变长度编码。uint32intint/long uint64使用可变长度编码。uint64longint/long sint32使用变长编码。有符号整数值。相比常规的 int32，它能更高效地编码负数。int32intint sint64使用变长编码。有符号整数值。相比常规的 int64，它能更高效地编码负数。int64longint/long fixed32始终为四个字节。如果值经常大于 2^28，则比 uint32 更高效。” 或 “固定为四字节。若数值常大于 2^28，则比 uint32 效率更高。uint32intint fixed64始终为八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32始终为四个字节int32intint sfixed64始终为八个字节int64longint/long boolboolbooleanboolean string字符串必须始终包含UTF-8编码的文本或7位ASCII文本。stringStringstr/unicode bytesMay contain any arbitrary sequence of bytes.stringByteStringstr  doubledoubledoublefloat  double  double  "},"115":{"url":"/psi/main/zh-CN/user_guide#user-guide","type":"fragment","title":"用户指南","content":"推荐使用PSI v2配置. PIR的实现我们正在开发。 \nPSI v1 快速入门（已废弃）\nPSI v2 快速入门\nPIR 快速入门\n常见问题（FAQ）\nPSI V2 基准测试\nAPSI 基准测试\n \nPSI v1 快速入门（已废弃）\nPSI v2 快速入门\nPIR 快速入门\n常见问题（FAQ）\nPSI V2 基准测试\nAPSI 基准测试\n PSI v1 快速入门（已废弃） PSI v1 快速入门（已废弃） PSI v2 快速入门 PSI v2 快速入门 PIR 快速入门 PIR 快速入门 常见问题（FAQ） 常见问题（FAQ） PSI V2 基准测试 PSI V2 基准测试 APSI 基准测试 APSI 基准测试 "},"116":{"url":"/psi/main/zh-CN/user_guide/apsi_benchmark#apsi-benchmark","type":"fragment","title":"APSI 基准测试","content":"本文档介绍APSI协议的基准测试 "},"117":{"url":"/psi/main/zh-CN/user_guide/apsi_benchmark#building-from-source","type":"fragment","title":"APSI 基准测试 - 从源码进行构建","content":" 如果构建成功，你将在 bazel-bin/psi 目录下找到一个名为 main 的可执行文件。我们将使用 ./main 文件，并结合一个配置文件来运行APSI协议。例如：  "},"118":{"url":"/psi/main/zh-CN/user_guide/apsi_benchmark#generate-data","type":"fragment","title":"APSI 基准测试 - 生成数据","content":"为了衡量APSI协议在不同数据规模下的性能，我们需要生成模拟数据。  接下来，我们需要将数据文件和参数文件复制到 /tmp 目录中： /tmp  请注意，为了实现APSI的最佳性能，我们需要针对相应的数据规模和标签长度找到一组合适的参数，在这里，我们直接使用APSI提供的一组默认参数，例如 1M-1-32.json。 "},"119":{"url":"/psi/main/zh-CN/user_guide/apsi_benchmark#prepare-config-file","type":"fragment","title":"APSI 基准测试 - 准备配置文件","content":"我们使用配置文件来指定输入数据文件和参数文件。 "},"120":{"url":"/psi/main/zh-CN/user_guide/apsi_benchmark#apsi-sender-setup-json","type":"fragment","title":"APSI 基准测试 - apsi_sender_setup.json","content":"请注意，对于不同的数据规模，我们需要使用不同的 params_file。 params_file  "},"121":{"url":"/psi/main/zh-CN/user_guide/apsi_benchmark#apsi-sender-online-json","type":"fragment","title":"APSI 基准测试 - apsi_sender_online.json","content":" "},"122":{"url":"/psi/main/zh-CN/user_guide/apsi_benchmark#apsi-receiver-json","type":"fragment","title":"APSI 基准测试 - apsi_receiver.json","content":"请注意，对于不同的数据规模，我们需要使用不同的 params_file。 params_file  "},"123":{"url":"/psi/main/zh-CN/user_guide/apsi_benchmark#run-apsi-with-docker","type":"fragment","title":"APSI 基准测试 - 使用docker运行APSI","content":"为了衡量APSI基准测试在不同机器和网络配置下的性能，我们使用两个Docker 容器分别充当发送方和接收方。 "},"124":{"url":"/psi/main/zh-CN/user_guide/apsi_benchmark#apsi-sender-32c64g","type":"fragment","title":"APSI 基准测试 - apsi_sender（32C64G）","content":"apsi_sender（32C64G）  然后运行:  "},"125":{"url":"/psi/main/zh-CN/user_guide/apsi_benchmark#apsi-receiver-16c32g","type":"fragment","title":"APSI 基准测试 - apsi_receiver（16C32G）","content":" 然后运行:  "},"126":{"url":"/psi/main/zh-CN/user_guide/apsi_benchmark#limit-bandwidth-and-latency","type":"fragment","title":"APSI 基准测试 - 限制带宽和延迟","content":" "},"127":{"url":"/psi/main/zh-CN/user_guide/apsi_benchmark#benchmark","type":"fragment","title":"APSI 基准测试 - Benchmark","content":"在此我们展示按照上述方法测量得到的APSI基准测试结果。请注意，我们没有记录服务器端设置阶段所花费的时间，因为这个过程总是可以离线完成。 此外，这里仅展示了在特定数据设置下的少量性能数据。这是因为对APSI进行性能测试相当复杂；不同的数据规模和标签长度需要找到一组合适的相应参数，以实现最佳性能。因此，这里的数据设置旨在为您提供一个大致的参考。 如果您希望测量特定数据规模和标签长度下的APSI性能，您可以按照上述步骤来复现结果。最后，为了进一步优化性能，深入理解APSI算法原理是很有必要的。如果您有任何与私密信息检索（PIR）相关的进一步疑问，请随时与我们联系。 \nms 表示毫秒\n ms 表示毫秒 ms                       请注意，上述数据并不代表APSI的最优性能。在固定的数据规模条件下，APSI 的查询性能与相应的参数高度相关。此外，如果你想支持更大的数据集，比如十亿条数据条目，我们还提供了一种分桶模式。不过，这种模式需要考虑更多参数，因此在本次基准测试中未展示。 "},"128":{"url":"/psi/main/zh-CN/user_guide/psi_v2#psi-v2-quickstart","type":"fragment","title":"PSI v2 快速入门","content":""},"129":{"url":"/psi/main/zh-CN/user_guide/psi_v2#release-docker","type":"fragment","title":"PSI v2 快速入门 - Docker镜像","content":"我们在 dockerhub 提供了发行镜像， 也在阿里云提供了镜像: secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8. dockerhub secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8 "},"130":{"url":"/psi/main/zh-CN/user_guide/psi_v2#prepare-data-and-config","type":"fragment","title":"PSI v2 快速入门 - 准备数据和配置","content":"细节请参考：这里 。 要启动PSI，可以查看 启动配置 。 启动配置 receiver.config receiver.config receiver.config  sender.config sender.config sender.config  需要准备以下文件： 文件名称文件位置描述receiver.config/tmp/receiver/receiver.config接收方配置。sender.config/tmp/sender/sender.config发送方配置。receiver_input.csv/tmp/receiver/receiver_input.config接收方输入，请确保文件有id0列和id1列。sender_input.csv/tmp/sender/sender_input.config发出方输入，请确保文件有id0列和id1列。 文件名称文件位置描述 文件名称文件位置描述 文件名称 文件名称 文件位置 文件位置 描述 描述 receiver.config/tmp/receiver/receiver.config接收方配置。sender.config/tmp/sender/sender.config发送方配置。receiver_input.csv/tmp/receiver/receiver_input.config接收方输入，请确保文件有id0列和id1列。sender_input.csv/tmp/sender/sender_input.config发出方输入，请确保文件有id0列和id1列。 receiver.config/tmp/receiver/receiver.config接收方配置。 receiver.config receiver.config /tmp/receiver/receiver.config /tmp/receiver/receiver.config 接收方配置。 接收方配置。 sender.config/tmp/sender/sender.config发送方配置。 sender.config sender.config /tmp/sender/sender.config /tmp/sender/sender.config 发送方配置。 发送方配置。 receiver_input.csv/tmp/receiver/receiver_input.config接收方输入，请确保文件有id0列和id1列。 receiver_input.csv receiver_input.csv /tmp/receiver/receiver_input.config /tmp/receiver/receiver_input.config 接收方输入，请确保文件有id0列和id1列。 接收方输入，请确保文件有id0列和id1列。 sender_input.csv/tmp/sender/sender_input.config发出方输入，请确保文件有id0列和id1列。 sender_input.csv sender_input.csv /tmp/sender/sender_input.config /tmp/sender/sender_input.config 发出方输入，请确保文件有id0列和id1列。 发出方输入，请确保文件有id0列和id1列。 "},"131":{"url":"/psi/main/zh-CN/user_guide/psi_v2#run-psi","type":"fragment","title":"PSI v2 快速入门 - 运行PSI","content":"在第一个终端，运行以下命令：  在另一个终端，运行以下命令：  "},"132":{"url":"/psi/main/zh-CN/user_guide/psi_v2#building-from-source","type":"fragment","title":"PSI v2 快速入门 - 源码构建","content":"可以使用bazel编译PSI二进制：  然后:  "},"133":{"url":"/psi/main/zh-CN/user_guide/psi_v2#more-examples","type":"fragment","title":"PSI v2 快速入门 - 更多示例","content":"请阅读 README, 更多示例配置可以查看 psi config. README psi config "},"134":{"url":"/psi/main/zh-CN/user_guide/psi_v2#ub-psi","type":"fragment","title":"PSI v2 快速入门 - 非平衡PSI","content":"要启动非平衡PSI，请参考 启动配置 和 这里. 启动配置 请参考 示例. 示例 配置示例： \n\n服务器端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json\n\n\n\n客户端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json\n\n\n \n服务器端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json\n\n 服务器端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json\n 服务器端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json\n 服务器端 服务器端 服务器端 \nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json\n \nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json\n https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json \n客户端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json\n\n 客户端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json\n 客户端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json\n 客户端 客户端 客户端 \nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json\n \nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json\n https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json "},"135":{"url":"/psi/main/zh-CN/user_guide/pir#pir-quickstart","type":"fragment","title":"PIR 快速入门","content":"SPU（密文运算单元）匿踪查询（PIR）快速入门。 "},"136":{"url":"/psi/main/zh-CN/user_guide/pir#supported-protocols","type":"fragment","title":"PIR 快速入门 - 支持的协议","content":"PIR 协议类型服务器数量SealPIR（后续更新）Index PIR单服务器APSIKeyword PIR单服务器 PIR 协议类型服务器数量 PIR 协议类型服务器数量 PIR 协议 PIR 协议 类型 类型 服务器数量 服务器数量 SealPIR（后续更新）Index PIR单服务器APSIKeyword PIR单服务器 SealPIR（后续更新）Index PIR单服务器 SealPIR（后续更新） SealPIR（后续更新） Index PIR Index PIR 单服务器 单服务器 APSIKeyword PIR单服务器 APSI APSI Keyword PIR Keyword PIR 单服务器 单服务器 SealPIR 正在开发中。 "},"137":{"url":"/psi/main/zh-CN/user_guide/pir#release-docker","type":"fragment","title":"PIR 快速入门 - 发布 Docker 镜像","content":"请在 dockerhub 上查看官方发布版 docker 镜像。我们在阿里云也设有镜像源：secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8。 dockerhub "},"138":{"url":"/psi/main/zh-CN/user_guide/pir#keyword-pir-apsi","type":"fragment","title":"PIR 快速入门 - Keyword PIR (APSI)","content":""},"139":{"url":"/psi/main/zh-CN/user_guide/pir#before-start","type":"fragment","title":"PIR 快速入门 - 开始前准备","content":"我们对 APSI 库提供了一个简单的封装。请仔细阅读 APSI 仓库的 README 。我们这里不再重复描述 APSI 文档中描述的内容。 APSI README 配置细节可以参考 PIR 配置。我们和 APSI 的命令行参数基本保持一致，所以你可以阅读 APSI CLI arguments 来作为参考。 PIR 配置 APSI CLI arguments 新增功能如下： \n使用 Yacl Link 作为通信层。\n试验性的分桶 PIR。\n提供了用来进一步集成的 API。\n 使用 Yacl Link 作为通信层。 试验性的分桶 PIR。 提供了用来进一步集成的 API。 如果你想要尝试一个类似 APSI 的 CLI，可以通过如下方式编译源代码：  然后通过如下方式获取命令行参数：  "},"140":{"url":"/psi/main/zh-CN/user_guide/pir#prepare-data-and-config","type":"fragment","title":"PIR 快速入门 - 准备数据和配置：","content":"对于 Senders (Servers)，你必须提供一个作为输入的 CSV 文件或者一个 sender db 文件。输入的 CSV 文件在完成设置后会被转换成 sender db 文件。 "},"141":{"url":"/psi/main/zh-CN/user_guide/pir#csv-file","type":"fragment","title":"PIR 快速入门 - CSV 文件","content":"CSV 文件格式如下：  请确保： \n从版本 0.4.0b0 开始，CSV 文件必须包含表头。\n首行必须为表头，且只允许包含 key 和 value 两列。\nkey 列必须是数据项（即键）。\nvalue 必须是标签（即值），此列为可选列。\n 从版本 0.4.0b0 开始，CSV 文件必须包含表头。 0.4.0b0 首行必须为表头，且只允许包含 key 和 value 两列。 key value key 列必须是数据项（即键）。 key value 必须是标签（即值），此列为可选列。 value "},"142":{"url":"/psi/main/zh-CN/user_guide/pir#apsi-params-file","type":"fragment","title":"PIR 快速入门 - APSI 参数文件","content":"我们使用了 APSI 的原生参数。详情请查阅 APSI PSIParams 文档。 APSI PSIParams 对 senders 而言：当提供 CSV 文件时，必须同时提供一个 APSI 参数文件。如果提供的是 sender db 文件，则无需提供 APSI 参数文件，即使提供也会会被忽略。对 receivers 而言：APSI 参数文件是可选的。如果没有提供, receivers 会向 senders 请求该文件。如果选择提供该文件，请确保 receivers 和 senders 的 APSI 参数文件一致。 It's not easy to find a suitable APSI params file. So APSI provides some examples at `APSI parameters <https://github.com/microsoft/APSI/tree/main/parameters`_.\nWe have a copy at APSI parameters <blob/main/examples/pir/apsi/parameters> as well.\nYou can refer to here to choose the appropriate parameter file. `APSI parameters <https://github.com/microsoft/APSI/tree/main/parameters`_ https://github.com/microsoft/APSI/tree/main/parameters`_ APSI parameters <blob/main/examples/pir/apsi/parameters> here 要启动PIR，请在 启动配置 中查阅启动配置，以及相关具体配置: sender config 和 receiver config. 启动配置 "},"143":{"url":"/psi/main/zh-CN/user_guide/pir#pir-config","type":"fragment","title":"PIR 快速入门 - PIR 配置","content":"Sender: 设置阶段。此阶段中，sender 根据输入的 CSV 文件生成 db 文件。此阶段为离线操作。自 0.4.0b0 版本起，用来生成 db 文件的 CSV 源文件通过 source_file 指定，而 db_file 用于指定生成 db 文件路径。 0.4.0b0 source_file db_file apsi_sender_setup.json apsi_sender_setup.json apsi_sender_setup.json  Sender: 在线阶段。此阶段中，sender 接收 recivers 的查询并生成相应，需要保持在线。 apsi_sender_online.json apsi_sender_online.json apsi_sender_online.json  Receiver: 在线阶段 apsi_receiver.json apsi_receiver.json apsi_receiver.json  params_file 字段是可选的。如果未提供，receiver 会向 sender 请求该参数。如果提供了该文件，请确保其与 sender 使用的文件一致。 "},"144":{"url":"/psi/main/zh-CN/user_guide/pir#full-examples","type":"fragment","title":"PIR 快速入门 - 完整示例","content":"请查阅 相关示例。如需更多演示配置，你可以查看 这里。 相关示例 这里 "},"145":{"url":"/psi/main/zh-CN/user_guide/pir#bucketized-mode","type":"fragment","title":"PIR 快速入门 - 分桶模式","content":"对一个大型的的 sender db 进行搜索的开销很大。所以我们可以将数据分桶。 Server 虽然知道 client 查询的是哪个桶，但是不知道具体元素： 在设置阶段，sender 会对数据进行分桶。每个桶会生成一个对应的 sender db。 在线阶段中，receiver 会将其查询分拆成子查询。每个子查询仅包含属于同一个桶的数据项。当 receivers 向 sender 发送子查询时，也会提供对应的 bucket idx。 针对每个子查询，sender 仅在特定桶对应的 sender db 中进行搜索。 假设查询的不可区分度为 \\text{ind_degree}，且 sender 有 \\text{sender_data_rows} 行数据。那么桶的数量应该为 \\text{bucket_num} = \\text{sender_data_rows} / \\text{ind_degree}。你可以设置 experimental_bucket_cnt 为 \\text{bucket_num}。如果 client有 \\text{query_rows} 行数据，那么每个桶里会有 \\text{query_rows_per_bucket} = \\text{query_rows} / \\text{bucket_num} 行数据。你就可以选择 \\text{ind_degree}-\\text{query_rows_per_bucket}-xxx.json 作为 params_file。 \\text{ind_degree} \\text{ind_degree} \\text{sender_data_rows} \\text{sender_data_rows} \\text{bucket_num} = \\text{sender_data_rows} / \\text{ind_degree} \\text{bucket_num} = \\text{sender_data_rows} / \\text{ind_degree} \\text{bucket_num} \\text{bucket_num} \\text{query_rows} \\text{query_rows} \\text{query_rows_per_bucket} = \\text{query_rows} / \\text{bucket_num} \\text{query_rows_per_bucket} = \\text{query_rows} / \\text{bucket_num} \\text{ind_degree} \\text{ind_degree} \\text{query_rows_per_bucket} \\text{query_rows_per_bucket} "},"146":{"url":"/psi/main/zh-CN/user_guide/faq#frequently-asked-questions-faq","type":"fragment","title":"常见问题（FAQ）","content":"我们将收集用户的一些常见问题，并及时更新此部分内容。 "},"147":{"url":"/psi/main/zh-CN/user_guide/faq#config-issues","type":"fragment","title":"常见问题（FAQ） - 配置问题","content":"\n在PSI配置中，broadcast_result 和 receiver 的区别是什么？开启 broadcast_result 是否安全？\n 在PSI配置中，broadcast_result 和 receiver 的区别是什么？开启 broadcast_result 是否安全？ broadcast_result receiver broadcast_result 在PSI协议中，承诺接收交集的一方称为 receiver （接收方），另一方称为 sender （发送方）。当 broadcast_result 开启时，sender 也会收到交集。双方必须就 broadcast_result 的值达成一致，否则程序将停止运行。 receiver sender broadcast_result sender broadcast_result 如果 broadcast_result 开启，只有 receiver （接收方）和 sender （发送方）能够接收结果，而任何第三方都无法看到。因此，如果 receiver 和 sender 都希望获取结果，将 broadcast_result 设置为true是安全的。 broadcast_result receiver sender receiver sender broadcast_result \n什么是 IO_TYPE_UNSPECIFIED ?\n 什么是 IO_TYPE_UNSPECIFIED ? 您必须选择一种类型作为IoType。 IO_TYPE_UNSPECIFIED 是 IoType 的默认值，但它没有实际意义。目前，我们仅支持 IO_TYPE_FILE_CSV 。 \n什么是 ADVANCED_JOIN_TYPE_UNSPECIFIED?\n 什么是 ADVANCED_JOIN_TYPE_UNSPECIFIED? PSI协议不允许输入ID中存在重复值。然而，有时我们可能希望在ID中保留重复值，并按照SQL规则执行LEFT / RIGHT / FULL连接。这被称为 AdvancedJoinType。 ADVANCED_JOIN_TYPE_UNSPECIFIED  等价于 ADVANCED_JOIN_TYPE_INNER_JOIN. \n桶大小的推荐值是多少？\n 桶大小的推荐值是多少？ 默认值为2^20。除非您的计算资源非常有限，否则不应更改此值。 \n什么是 disable_alignment?\n 什么是 disable_alignment? 如果开启 disable_alignment ， receiver （接收方）和 sender （发送方）收到的交集不保证对齐（顺序不匹配），但可以节省时间。 receiver sender \n什么是 RetryOptionsProto in ContextDescProto ?\n 什么是 RetryOptionsProto in ContextDescProto ? 我们为所有字段提供了合适的默认值。除非网络状况非常差，否则您不应更改任何值。如需更多信息，您可以查看`此处 <https://github.com/secretflow/yacl/blob/main/yacl/link/link.proto>`_。 https://github.com/secretflow/yacl/blob/main/yacl/link/link.proto "},"148":{"url":"/psi/main/zh-CN/user_guide/faq#feature-issues","type":"fragment","title":"常见问题（FAQ） - 特性问题","content":"\n如何使用SSL？\n 如何使用SSL？ 我们支持mTLS，您应提供合适的 ContextDescProto ： \nenable_ssl  为真。\n在 client_ssl_opts 中，设置 verify_depth 并通过 ca_file_path 提供对等方的CA文件。\n在 server_ssl_opts 中，通过 certificate_path 和 private_key_path 提供自身的证书和私钥文件。\n您必须在双方都提供这些设置。\n enable_ssl  为真。 enable_ssl 在 client_ssl_opts 中，设置 verify_depth 并通过 ca_file_path 提供对等方的CA文件。 client_ssl_opts verify_depth ca_file_path 在 server_ssl_opts 中，通过 certificate_path 和 private_key_path 提供自身的证书和私钥文件。 server_ssl_opts certificate_path private_key_path 您必须在双方都提供这些设置。 example.config example.config example.config  \n如何使用recovery?\n 如何使用recovery? 我们在PSI v2中提供了恢复功能。 您需要提供一个合适的 RecoveryConfig ： \n设置 enabled 为真。\nfolder is provided to store checkpoints.\n 设置 enabled 为真。 enabled folder is provided to store checkpoints. folder 如果PSI任务失败，只需使用相同的配置重新启动任务，进度将会恢复。 "},"149":{"url":"/psi/main/zh-CN/user_guide/psi_v2_benchmark#psi-v2-benchmark","type":"fragment","title":"PSI V2 基准测试","content":"本文档将介绍 PSI V2 基准测试。它使用的是 PSI V2  版本的接口。 "},"150":{"url":"/psi/main/zh-CN/user_guide/psi_v2_benchmark#building-from-source","type":"fragment","title":"PSI V2 基准测试 - 源码构建","content":" 如果构建成功，你将在 bazel-bin/psi 目录中找到一个名为 main 的可执行文件。我们将使用 ./main 文件，并结合配置文件来运行不同的PSI协议。例如： bazel-bin/psi main ./main  "},"151":{"url":"/psi/main/zh-CN/user_guide/psi_v2_benchmark#generate-data","type":"fragment","title":"PSI V2 基准测试 - 生成数据","content":"为了衡量不同PSI协议在不同数据规模下的性能，我们需要通过generate_psi.py生成模拟数据。generate_psi.py generate_psi.py  "},"152":{"url":"/psi/main/zh-CN/user_guide/psi_v2_benchmark#prepare-config-file","type":"fragment","title":"PSI V2 基准测试 - 准备配置文件","content":"我们使用配置文件来指定不同的PSI协议和输入数据。 "},"153":{"url":"/psi/main/zh-CN/user_guide/psi_v2_benchmark#sender-config","type":"fragment","title":"PSI V2 基准测试 - sender.config","content":" "},"154":{"url":"/psi/main/zh-CN/user_guide/psi_v2_benchmark#receiver-config","type":"fragment","title":"PSI V2 基准测试 - receiver.config","content":" "},"155":{"url":"/psi/main/zh-CN/user_guide/psi_v2_benchmark#run-psi-with-docker","type":"fragment","title":"PSI V2 基准测试 - 使用 Docker 运行 PSI","content":"为了在不同机器配置和网络配置下测量PSI V2基准测试，我们使用两个Docker容器分别充当发送方和接收方。 alice  bob  "},"156":{"url":"/psi/main/zh-CN/user_guide/psi_v2_benchmark#limit-bandwidth-and-latency","type":"fragment","title":"PSI V2 基准测试 - 限制带宽和延迟","content":" "},"157":{"url":"/psi/main/zh-CN/user_guide/psi_v2_benchmark#benchmark","type":"fragment","title":"PSI V2 基准测试 - 基准测试","content":"这里展示了按照上述方法测量的PSI V2基准测试结果。 \n默认时间单位为秒，m代表分钟，h代表小时。\n 默认时间单位为秒，m代表分钟，h代表小时。 m h                                                                                                                                                                                                                                                                                         "},"158":{"url":"/psi/main/zh-CN/user_guide/psi#psi-v1-quickstart-deprecated","type":"fragment","title":"PSI v1 快速入门（已废弃）","content":"隐私集合求 (PSI) V1 接口快速入门。 "},"159":{"url":"/psi/main/zh-CN/user_guide/psi#supported-protocols","type":"fragment","title":"PSI v1 快速入门（已废弃） - 支持的协议","content":"如果带宽受限，协议 ECDH-PSI 更具优势。如果计算资源受限，推荐你尝试基于 BaRK-OPRF 的 PSI 方案 KKRT-PSI。 ECDH-PSI KKRT-PSI PSI 协议威胁模型参与方数量PSI 类型码ECDH-PSI半诚实模型两方1ECDH-OPRF-PSI半诚实模型两方\n\nKKRT半诚实模型两方2PCG_PSI半诚实模型两方3Mini-PSI恶意模型两方\n\nDP-PSI半诚实模型两方\n\n PSI 协议威胁模型参与方数量PSI 类型码 PSI 协议威胁模型参与方数量PSI 类型码 PSI 协议 PSI 协议 威胁模型 威胁模型 参与方数量 参与方数量 PSI 类型码 PSI 类型码 ECDH-PSI半诚实模型两方1ECDH-OPRF-PSI半诚实模型两方\n\nKKRT半诚实模型两方2PCG_PSI半诚实模型两方3Mini-PSI恶意模型两方\n\nDP-PSI半诚实模型两方\n\n ECDH-PSI半诚实模型两方1 ECDH-PSI ECDH-PSI 半诚实模型 半诚实模型 两方 两方 1 1 ECDH-OPRF-PSI半诚实模型两方\n\n ECDH-OPRF-PSI ECDH-OPRF-PSI 半诚实模型 半诚实模型 两方 两方 \n\n \n\n  KKRT半诚实模型两方2 KKRT KKRT KKRT 半诚实模型 半诚实模型 两方 两方 2 2 PCG_PSI半诚实模型两方3 PCG_PSI PCG_PSI PCG_PSI 半诚实模型 半诚实模型 两方 两方 3 3 Mini-PSI恶意模型两方\n\n Mini-PSI Mini-PSI Mini-PSI 恶意模型 恶意模型 两方 两方 \n\n \n\n  DP-PSI半诚实模型两方\n\n DP-PSI DP-PSI DP-PSI 半诚实模型 半诚实模型 两方 两方 \n\n \n\n  MPC 和 PSI 协议是针对特定的安全模型（或威胁模型）而设计的。 通常认为，安全模型旨在刻画敌手的能力。半诚实模型和恶意模型下的敌手，分别被称为半诚实敌手和恶意敌手。 \n半诚实敌手\n恶意敌手\n 半诚实敌手 半诚实敌手 恶意敌手 恶意敌手 切勿在恶意环境中使用半诚实 PSI 协议，否则其可能遭受攻击并导致信息泄露。 我们实现的 ECDH-PSI 协议支持多种椭圆曲线： \nCurve25519\nSecp256k1\nFourQ\nSM2\n Curve25519 Curve25519 Secp256k1 Secp256k1 FourQ FourQ SM2 SM2 详情请查阅文档 PSI协议介绍。 PSI协议介绍 "},"160":{"url":"/psi/main/zh-CN/user_guide/psi#prepare-data-and-config","type":"fragment","title":"PSI v1 快速入门（已废弃） - 准备数据和配置","content":"配置详情请查阅文档 PSI v1 配置。 PSI v1 配置 若要启动 PSI，请参考文档 启动配置 中的启动配置并填写 runtime_config.legacy_psi_config 字段。 启动配置 runtime_config.legacy_psi_config "},"161":{"url":"/psi/main/zh-CN/user_guide/psi#release-docker","type":"fragment","title":"PSI v1 快速入门（已废弃） - Docker 镜像","content":"请在 dockerhub 上查看官方发布版 docker 镜像。我们在阿里云也设有镜像源：secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8。 dockerhub "},"162":{"url":"/psi/main/zh-CN/user_guide/psi#run-psi","type":"fragment","title":"PSI v1 快速入门（已废弃） - 运行 PSI","content":"在第一个终端中，运行如下命令：  在另一个终端中，同时运行如下命令：  "},"163":{"url":"/psi/main/zh-CN/user_guide/psi#building-from-source","type":"fragment","title":"PSI v1 快速入门（已废弃） - 源码编译","content":"你可以通过 bazel 编译 psi 二进制文件：  然后通过如下命令使用二进制文件：  "},"164":{"url":"/psi/main/zh-CN/user_guide/psi#benchmark","type":"fragment","title":"PSI v1 快速入门（已废弃） - 基准测试","content":"数据加载时间不计入基准测试结果 "},"165":{"url":"/psi/main/zh-CN/user_guide/psi#ecdh-psi-benchmark","type":"fragment","title":"PSI v1 快速入门（已废弃） - ECDH PSI 基准测试","content":"DH-PSI benchmark code DH-PSI benchmark code 通过 docker 限制 cpu 资源 (--cpu) Intel(R) Xeon(R) Platinumcpu2^202^212^222^232^248269CY CPU @ 2.50GHz使用 curve25519-donna4c40.181s81.227s163.509s330.466s666.807s8c20.682s42.054s85.272s173.836s354.842s16c11.639s23.670s48.965s100.903s208.156s Intel(R) Xeon(R) Platinumcpu2^202^212^222^232^24 Intel(R) Xeon(R) Platinumcpu2^202^212^222^232^24 Intel(R) Xeon(R) Platinum Intel(R) Xeon(R) Platinum cpu cpu 2^20 2^20 2^21 2^21 2^22 2^22 2^23 2^23 2^24 2^24 8269CY CPU @ 2.50GHz使用 curve25519-donna4c40.181s81.227s163.509s330.466s666.807s8c20.682s42.054s85.272s173.836s354.842s16c11.639s23.670s48.965s100.903s208.156s 8269CY CPU @ 2.50GHz使用 curve25519-donna4c40.181s81.227s163.509s330.466s666.807s 8269CY CPU @ 2.50GHz使用 curve25519-donna 8269CY CPU @ 2.50GHz 使用 curve25519-donna 4c 4c 40.181s 40.181s 81.227s 81.227s 163.509s 163.509s 330.466s 330.466s 666.807s 666.807s 8c20.682s42.054s85.272s173.836s354.842s 8c 8c 20.682s 20.682s 42.054s 42.054s 85.272s 85.272s 173.836s 173.836s 354.842s 354.842s 16c11.639s23.670s48.965s100.903s208.156s 16c 16c 11.639s 11.639s 23.670s 23.670s 48.965s 48.965s 100.903s 100.903s 208.156s 208.156s ipp-crypto Multi-buffer Functions ipp-crypto Multi-buffer Functions Intel(R) Xeon(R) Platinumcpu2^202^212^222^232^248369B CPU @ 2.70GHzcurve25519(ipp-crypto)4c7.37s15.32s31.932s66.802s139.994s8c4.3s9.095s18.919s40.828s87.649s16c2.921s6.081s13.186s29.614s65.186s Intel(R) Xeon(R) Platinumcpu2^202^212^222^232^24 Intel(R) Xeon(R) Platinumcpu2^202^212^222^232^24 Intel(R) Xeon(R) Platinum Intel(R) Xeon(R) Platinum cpu cpu 2^20 2^20 2^21 2^21 2^22 2^22 2^23 2^23 2^24 2^24 8369B CPU @ 2.70GHzcurve25519(ipp-crypto)4c7.37s15.32s31.932s66.802s139.994s8c4.3s9.095s18.919s40.828s87.649s16c2.921s6.081s13.186s29.614s65.186s 8369B CPU @ 2.70GHzcurve25519(ipp-crypto)4c7.37s15.32s31.932s66.802s139.994s 8369B CPU @ 2.70GHzcurve25519(ipp-crypto) 8369B CPU @ 2.70GHz curve25519(ipp-crypto) 4c 4c 7.37s 7.37s 15.32s 15.32s 31.932s 31.932s 66.802s 66.802s 139.994s 139.994s 8c4.3s9.095s18.919s40.828s87.649s 8c 8c 4.3s 4.3s 9.095s 9.095s 18.919s 18.919s 40.828s 40.828s 87.649s 87.649s 16c2.921s6.081s13.186s29.614s65.186s 16c 16c 2.921s 2.921s 6.081s 6.081s 13.186s 13.186s 29.614s 29.614s 65.186s 65.186s "},"166":{"url":"/psi/main/zh-CN/user_guide/psi#kkrt-psi-benchmark","type":"fragment","title":"PSI v1 快速入门（已废弃） - KKRT PSI 基准测试","content":"在我们的所有实验里，各参与方均采用单线程模式运行。 如果带宽充足，那么上游就可以尝试进行多线程优化。 通过 wondershaper 限制带宽。 wondershaper 10Mbps = 10240Kbps, 100Mbps = 102400Kbps, 1000Mbps = 1024000Kbps  Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz 带宽阶段2^182^202^222^24局域网离线阶段0.012s0.012s0.012s0.014s在线阶段0.495s2.474s10.765s44.368s100Mbps离线阶段0.012s0.012s0.024s0.014s在线阶段2.694s11.048s46.983s192.37s10Mbps离线阶段0.016s0.019s0.0312s0.018s在线阶段25.434s100.68s415.94s1672.21s 带宽阶段2^182^202^222^24 带宽阶段2^182^202^222^24 带宽 带宽 阶段 阶段 2^18 2^18 2^20 2^20 2^22 2^22 2^24 2^24 局域网离线阶段0.012s0.012s0.012s0.014s在线阶段0.495s2.474s10.765s44.368s100Mbps离线阶段0.012s0.012s0.024s0.014s在线阶段2.694s11.048s46.983s192.37s10Mbps离线阶段0.016s0.019s0.0312s0.018s在线阶段25.434s100.68s415.94s1672.21s 局域网离线阶段0.012s0.012s0.012s0.014s 局域网 局域网 离线阶段 离线阶段 0.012s 0.012s 0.012s 0.012s 0.012s 0.012s 0.014s 0.014s 在线阶段0.495s2.474s10.765s44.368s 在线阶段 在线阶段 0.495s 0.495s 2.474s 2.474s 10.765s 10.765s 44.368s 44.368s 100Mbps离线阶段0.012s0.012s0.024s0.014s 100Mbps 100Mbps 离线阶段 离线阶段 0.012s 0.012s 0.012s 0.012s 0.024s 0.024s 0.014s 0.014s 在线阶段2.694s11.048s46.983s192.37s 在线阶段 在线阶段 2.694s 2.694s 11.048s 11.048s 46.983s 46.983s 192.37s 192.37s 10Mbps离线阶段0.016s0.019s0.0312s0.018s 10Mbps 10Mbps 离线阶段 离线阶段 0.016s 0.016s 0.019s 0.019s 0.0312s 0.0312s 0.018s 0.018s 在线阶段25.434s100.68s415.94s1672.21s 在线阶段 在线阶段 25.434s 25.434s 100.68s 100.68s 415.94s 415.94s 1672.21s 1672.21s "},"167":{"url":"/psi/main/zh-CN/user_guide/psi#security-tips","type":"fragment","title":"PSI v1 快速入门（已废弃） - 安全提示","content":"警告：KKRT16 协议是一种半诚实模型下的 PSI 协议，在恶意模型下可能会受到攻击。我们建议将 KKRT16 PSI 协议用作单向 PSI，即只有一方能获得最终的交集结果。 "}},"count":167},"sorting":{"language":"english","sortableProperties":["url","title","content","type","symbol.domain","symbol.name","symbol.module"],"sortablePropertiesWithTypes":{"url":"string","title":"string","content":"string","type":"string","symbol.domain":"string","symbol.name":"string","symbol.module":"string"},"sorts":{"url":{"docs":{"1":0,"2":148,"3":147,"4":166,"5":165,"6":164,"7":163,"8":162,"9":161,"10":160,"11":159,"12":158,"13":157,"14":156,"15":155,"16":154,"17":153,"18":152,"19":151,"20":150,"21":149,"22":19,"23":24,"24":16,"25":27,"26":15,"27":26,"28":20,"29":21,"30":12,"31":22,"32":23,"33":17,"34":14,"35":29,"36":18,"37":25,"38":13,"39":28,"40":11,"41":7,"42":3,"43":4,"44":5,"45":1,"46":10,"47":2,"48":6,"49":9,"50":8,"51":93,"52":55,"53":58,"54":54,"55":51,"56":52,"57":56,"58":53,"59":57,"60":83,"61":90,"62":79,"63":72,"64":73,"65":75,"66":76,"67":78,"68":80,"69":82,"70":84,"71":86,"72":88,"73":91,"74":74,"75":77,"76":81,"77":85,"78":87,"79":92,"80":89,"81":67,"82":71,"83":65,"84":59,"85":61,"86":63,"87":64,"88":66,"89":68,"90":62,"91":60,"92":69,"93":70,"94":38,"95":48,"96":40,"97":39,"98":33,"99":34,"100":30,"101":31,"102":41,"103":43,"104":46,"105":49,"106":50,"107":35,"108":36,"109":32,"110":42,"111":44,"112":47,"113":37,"114":45,"115":146,"116":94,"117":101,"118":102,"119":104,"120":99,"121":98,"122":96,"123":105,"124":97,"125":95,"126":103,"127":100,"128":132,"129":133,"130":131,"131":134,"132":129,"133":130,"134":135,"135":116,"136":119,"137":118,"138":114,"139":110,"140":117,"141":112,"142":109,"143":115,"144":113,"145":111,"146":108,"147":106,"148":107,"149":125,"150":121,"151":122,"152":124,"153":128,"154":126,"155":127,"156":123,"157":120,"158":141,"159":145,"160":140,"161":142,"162":143,"163":137,"164":136,"165":138,"166":139,"167":144},"orderedDocs":[[1,"/psi/main/zh-CN/#welcome-to-secretflow-psi-library-s-documentation"],[45,"/psi/main/zh-CN/development/psi_protocol_intro#differentially-private-psi"],[47,"/psi/main/zh-CN/development/psi_protocol_intro#ecdh-oprf-based-psi"],[42,"/psi/main/zh-CN/development/psi_protocol_intro#ecdh-psi"],[43,"/psi/main/zh-CN/development/psi_protocol_intro#ecdh-psi-3p"],[44,"/psi/main/zh-CN/development/psi_protocol_intro#kkrt16-psi"],[48,"/psi/main/zh-CN/development/psi_protocol_intro#labeled-psi"],[41,"/psi/main/zh-CN/development/psi_protocol_intro#psi-protocols-introduction"],[50,"/psi/main/zh-CN/development/psi_protocol_intro#reference"],[49,"/psi/main/zh-CN/development/psi_protocol_intro#rr22-blazing-fast-psi"],[46,"/psi/main/zh-CN/development/psi_protocol_intro#unbalanced-psi"],[40,"/psi/main/zh-CN/development#development"],[30,"/psi/main/zh-CN/getting_started#applications"],[38,"/psi/main/zh-CN/getting_started#build-unittest"],[34,"/psi/main/zh-CN/getting_started#building"],[26,"/psi/main/zh-CN/getting_started#building-from-source"],[24,"/psi/main/zh-CN/getting_started#c-binaries"],[33,"/psi/main/zh-CN/getting_started#deprecated-easy-psi"],[36,"/psi/main/zh-CN/getting_started#dev-docker"],[22,"/psi/main/zh-CN/getting_started#getting-started"],[28,"/psi/main/zh-CN/getting_started#id1"],[29,"/psi/main/zh-CN/getting_started#id2"],[31,"/psi/main/zh-CN/getting_started#id3"],[32,"/psi/main/zh-CN/getting_started#id4"],[23,"/psi/main/zh-CN/getting_started#installation"],[37,"/psi/main/zh-CN/getting_started#linux"],[27,"/psi/main/zh-CN/getting_started#python-packages"],[25,"/psi/main/zh-CN/getting_started#release-docker"],[39,"/psi/main/zh-CN/getting_started#reporting-an-issue"],[35,"/psi/main/zh-CN/getting_started#system-setup"],[100,"/psi/main/zh-CN/reference/launch_config#allocatedports"],[101,"/psi/main/zh-CN/reference/launch_config#clusterdefine"],[109,"/psi/main/zh-CN/reference/launch_config#contextdescproto"],[98,"/psi/main/zh-CN/reference/launch_config#enums"],[99,"/psi/main/zh-CN/reference/launch_config#id1"],[107,"/psi/main/zh-CN/reference/launch_config#id2"],[108,"/psi/main/zh-CN/reference/launch_config#id3"],[113,"/psi/main/zh-CN/reference/launch_config#id4"],[94,"/psi/main/zh-CN/reference/launch_config#launch-configuration"],[97,"/psi/main/zh-CN/reference/launch_config#launchconfig"],[96,"/psi/main/zh-CN/reference/launch_config#messages"],[102,"/psi/main/zh-CN/reference/launch_config#party"],[110,"/psi/main/zh-CN/reference/launch_config#partyproto"],[103,"/psi/main/zh-CN/reference/launch_config#port"],[111,"/psi/main/zh-CN/reference/launch_config#retryoptionsproto"],[114,"/psi/main/zh-CN/reference/launch_config#scalar-value-types"],[104,"/psi/main/zh-CN/reference/launch_config#service"],[112,"/psi/main/zh-CN/reference/launch_config#ssloptionsproto"],[95,"/psi/main/zh-CN/reference/launch_config#table-of-contents"],[105,"/psi/main/zh-CN/reference/launch_config#taskinputconfig"],[106,"/psi/main/zh-CN/reference/launch_config#taskinputconfig-sfpsiconfigmapentry"],[55,"/psi/main/zh-CN/reference/pir_config#apsireceiverconfig"],[56,"/psi/main/zh-CN/reference/pir_config#apsisenderconfig"],[58,"/psi/main/zh-CN/reference/pir_config#enums"],[54,"/psi/main/zh-CN/reference/pir_config#messages"],[52,"/psi/main/zh-CN/reference/pir_config#pir-configuration"],[57,"/psi/main/zh-CN/reference/pir_config#pirresultreport"],[59,"/psi/main/zh-CN/reference/pir_config#scalar-value-types"],[53,"/psi/main/zh-CN/reference/pir_config#table-of-contents"],[84,"/psi/main/zh-CN/reference/psi_config#bucketpsiconfig"],[91,"/psi/main/zh-CN/reference/psi_config#curvetype"],[85,"/psi/main/zh-CN/reference/psi_config#dppsiparams"],[90,"/psi/main/zh-CN/reference/psi_config#enums"],[86,"/psi/main/zh-CN/reference/psi_config#inputparams"],[87,"/psi/main/zh-CN/reference/psi_config#memorypsiconfig"],[83,"/psi/main/zh-CN/reference/psi_config#messages"],[88,"/psi/main/zh-CN/reference/psi_config#outputparams"],[81,"/psi/main/zh-CN/reference/psi_config#psi-v1-configuration"],[89,"/psi/main/zh-CN/reference/psi_config#psiresultreport"],[92,"/psi/main/zh-CN/reference/psi_config#psitype"],[93,"/psi/main/zh-CN/reference/psi_config#scalar-value-types"],[82,"/psi/main/zh-CN/reference/psi_config#table-of-contents"],[63,"/psi/main/zh-CN/reference/psi_v2_config#debugoptions"],[64,"/psi/main/zh-CN/reference/psi_v2_config#ecdhconfig"],[74,"/psi/main/zh-CN/reference/psi_v2_config#enums"],[65,"/psi/main/zh-CN/reference/psi_v2_config#inputattr"],[66,"/psi/main/zh-CN/reference/psi_v2_config#ioconfig"],[75,"/psi/main/zh-CN/reference/psi_v2_config#iotype"],[67,"/psi/main/zh-CN/reference/psi_v2_config#kkrtconfig"],[62,"/psi/main/zh-CN/reference/psi_v2_config#messages"],[68,"/psi/main/zh-CN/reference/psi_v2_config#outputattr"],[76,"/psi/main/zh-CN/reference/psi_v2_config#protocol"],[69,"/psi/main/zh-CN/reference/psi_v2_config#protocolconfig"],[60,"/psi/main/zh-CN/reference/psi_v2_config#psi-v2-configuration"],[70,"/psi/main/zh-CN/reference/psi_v2_config#psiconfig"],[77,"/psi/main/zh-CN/reference/psi_v2_config#psiconfig-advancedjointype"],[71,"/psi/main/zh-CN/reference/psi_v2_config#recoveryconfig"],[78,"/psi/main/zh-CN/reference/psi_v2_config#role"],[72,"/psi/main/zh-CN/reference/psi_v2_config#rr22config"],[80,"/psi/main/zh-CN/reference/psi_v2_config#scalar-value-types"],[61,"/psi/main/zh-CN/reference/psi_v2_config#table-of-contents"],[73,"/psi/main/zh-CN/reference/psi_v2_config#ubpsiconfig"],[79,"/psi/main/zh-CN/reference/psi_v2_config#ubpsiconfig-mode"],[51,"/psi/main/zh-CN/reference#api-reference"],[116,"/psi/main/zh-CN/user_guide/apsi_benchmark#apsi-benchmark"],[125,"/psi/main/zh-CN/user_guide/apsi_benchmark#apsi-receiver-16c32g"],[122,"/psi/main/zh-CN/user_guide/apsi_benchmark#apsi-receiver-json"],[124,"/psi/main/zh-CN/user_guide/apsi_benchmark#apsi-sender-32c64g"],[121,"/psi/main/zh-CN/user_guide/apsi_benchmark#apsi-sender-online-json"],[120,"/psi/main/zh-CN/user_guide/apsi_benchmark#apsi-sender-setup-json"],[127,"/psi/main/zh-CN/user_guide/apsi_benchmark#benchmark"],[117,"/psi/main/zh-CN/user_guide/apsi_benchmark#building-from-source"],[118,"/psi/main/zh-CN/user_guide/apsi_benchmark#generate-data"],[126,"/psi/main/zh-CN/user_guide/apsi_benchmark#limit-bandwidth-and-latency"],[119,"/psi/main/zh-CN/user_guide/apsi_benchmark#prepare-config-file"],[123,"/psi/main/zh-CN/user_guide/apsi_benchmark#run-apsi-with-docker"],[147,"/psi/main/zh-CN/user_guide/faq#config-issues"],[148,"/psi/main/zh-CN/user_guide/faq#feature-issues"],[146,"/psi/main/zh-CN/user_guide/faq#frequently-asked-questions-faq"],[142,"/psi/main/zh-CN/user_guide/pir#apsi-params-file"],[139,"/psi/main/zh-CN/user_guide/pir#before-start"],[145,"/psi/main/zh-CN/user_guide/pir#bucketized-mode"],[141,"/psi/main/zh-CN/user_guide/pir#csv-file"],[144,"/psi/main/zh-CN/user_guide/pir#full-examples"],[138,"/psi/main/zh-CN/user_guide/pir#keyword-pir-apsi"],[143,"/psi/main/zh-CN/user_guide/pir#pir-config"],[135,"/psi/main/zh-CN/user_guide/pir#pir-quickstart"],[140,"/psi/main/zh-CN/user_guide/pir#prepare-data-and-config"],[137,"/psi/main/zh-CN/user_guide/pir#release-docker"],[136,"/psi/main/zh-CN/user_guide/pir#supported-protocols"],[157,"/psi/main/zh-CN/user_guide/psi_v2_benchmark#benchmark"],[150,"/psi/main/zh-CN/user_guide/psi_v2_benchmark#building-from-source"],[151,"/psi/main/zh-CN/user_guide/psi_v2_benchmark#generate-data"],[156,"/psi/main/zh-CN/user_guide/psi_v2_benchmark#limit-bandwidth-and-latency"],[152,"/psi/main/zh-CN/user_guide/psi_v2_benchmark#prepare-config-file"],[149,"/psi/main/zh-CN/user_guide/psi_v2_benchmark#psi-v2-benchmark"],[154,"/psi/main/zh-CN/user_guide/psi_v2_benchmark#receiver-config"],[155,"/psi/main/zh-CN/user_guide/psi_v2_benchmark#run-psi-with-docker"],[153,"/psi/main/zh-CN/user_guide/psi_v2_benchmark#sender-config"],[132,"/psi/main/zh-CN/user_guide/psi_v2#building-from-source"],[133,"/psi/main/zh-CN/user_guide/psi_v2#more-examples"],[130,"/psi/main/zh-CN/user_guide/psi_v2#prepare-data-and-config"],[128,"/psi/main/zh-CN/user_guide/psi_v2#psi-v2-quickstart"],[129,"/psi/main/zh-CN/user_guide/psi_v2#release-docker"],[131,"/psi/main/zh-CN/user_guide/psi_v2#run-psi"],[134,"/psi/main/zh-CN/user_guide/psi_v2#ub-psi"],[164,"/psi/main/zh-CN/user_guide/psi#benchmark"],[163,"/psi/main/zh-CN/user_guide/psi#building-from-source"],[165,"/psi/main/zh-CN/user_guide/psi#ecdh-psi-benchmark"],[166,"/psi/main/zh-CN/user_guide/psi#kkrt-psi-benchmark"],[160,"/psi/main/zh-CN/user_guide/psi#prepare-data-and-config"],[158,"/psi/main/zh-CN/user_guide/psi#psi-v1-quickstart-deprecated"],[161,"/psi/main/zh-CN/user_guide/psi#release-docker"],[162,"/psi/main/zh-CN/user_guide/psi#run-psi"],[167,"/psi/main/zh-CN/user_guide/psi#security-tips"],[159,"/psi/main/zh-CN/user_guide/psi#supported-protocols"],[115,"/psi/main/zh-CN/user_guide#user-guide"],[3,"/psi/main/zh-CN/whatsnew#release"],[2,"/psi/main/zh-CN/whatsnew#release-notes"],[21,"/psi/main/zh-CN/whatsnew#v0-1-0beta"],[20,"/psi/main/zh-CN/whatsnew#v0-2-0-dev231221"],[19,"/psi/main/zh-CN/whatsnew#v0-2-0-dev231228"],[18,"/psi/main/zh-CN/whatsnew#v0-2-0-dev240123"],[17,"/psi/main/zh-CN/whatsnew#v0-3-0-dev240219"],[16,"/psi/main/zh-CN/whatsnew#v0-3-0-dev240222"],[15,"/psi/main/zh-CN/whatsnew#v0-3-0-dev240304"],[14,"/psi/main/zh-CN/whatsnew#v0-3-0beta"],[13,"/psi/main/zh-CN/whatsnew#v0-4-0-dev240329"],[12,"/psi/main/zh-CN/whatsnew#v0-4-0-dev240401"],[11,"/psi/main/zh-CN/whatsnew#v0-4-0-dev240514"],[10,"/psi/main/zh-CN/whatsnew#v0-4-0-dev240517"],[9,"/psi/main/zh-CN/whatsnew#v0-4-0-dev240521"],[8,"/psi/main/zh-CN/whatsnew#v0-4-0-dev240731"],[7,"/psi/main/zh-CN/whatsnew#v0-4-0-dev240801"],[6,"/psi/main/zh-CN/whatsnew#v0-4-0beta"],[5,"/psi/main/zh-CN/whatsnew#v0-4-2beta"],[4,"/psi/main/zh-CN/whatsnew#v0-5-0beta"]],"type":"string"},"title":{"docs":{"1":165,"2":120,"3":139,"4":138,"5":128,"6":137,"7":136,"8":135,"9":134,"10":133,"11":132,"12":131,"13":130,"14":129,"15":127,"16":121,"17":126,"18":125,"19":124,"20":123,"21":122,"22":102,"23":111,"24":104,"25":112,"26":115,"27":106,"28":110,"29":108,"30":116,"31":107,"32":109,"33":103,"34":118,"35":117,"36":113,"37":105,"38":114,"39":119,"40":164,"41":92,"42":94,"43":93,"44":95,"45":99,"46":101,"47":98,"48":100,"49":96,"50":97,"51":0,"52":24,"53":30,"54":31,"55":26,"56":25,"57":27,"58":28,"59":29,"60":71,"61":91,"62":79,"63":72,"64":73,"65":75,"66":76,"67":78,"68":80,"69":82,"70":83,"71":85,"72":87,"73":88,"74":74,"75":77,"76":81,"77":84,"78":86,"79":89,"80":90,"81":42,"82":52,"83":51,"84":43,"85":45,"86":53,"87":46,"88":54,"89":47,"90":49,"91":44,"92":48,"93":50,"94":140,"95":160,"96":148,"97":147,"98":144,"99":149,"100":141,"101":142,"102":151,"103":153,"104":155,"105":157,"106":158,"107":145,"108":150,"109":143,"110":152,"111":154,"112":156,"113":146,"114":159,"115":166,"116":1,"117":8,"118":11,"119":10,"120":5,"121":4,"122":2,"123":9,"124":6,"125":3,"126":12,"127":7,"128":64,"129":65,"130":66,"131":69,"132":68,"133":67,"134":70,"135":13,"136":23,"137":20,"138":16,"139":22,"140":18,"141":15,"142":14,"143":17,"144":21,"145":19,"146":161,"147":163,"148":162,"149":55,"150":61,"151":62,"152":59,"153":57,"154":56,"155":58,"156":63,"157":60,"158":32,"159":39,"160":36,"161":33,"162":41,"163":40,"164":37,"165":34,"166":35,"167":38},"orderedDocs":[[51,"API reference"],[116,"APSI 基准测试"],[122,"APSI 基准测试 - apsi_receiver.json"],[125,"APSI 基准测试 - apsi_receiver（16C32G）"],[121,"APSI 基准测试 - apsi_sender_online.json"],[120,"APSI 基准测试 - apsi_sender_setup.json"],[124,"APSI 基准测试 - apsi_sender（32C64G）"],[127,"APSI 基准测试 - Benchmark"],[117,"APSI 基准测试 - 从源码进行构建"],[123,"APSI 基准测试 - 使用docker运行APSI"],[119,"APSI 基准测试 - 准备配置文件"],[118,"APSI 基准测试 - 生成数据"],[126,"APSI 基准测试 - 限制带宽和延迟"],[135,"PIR 快速入门"],[142,"PIR 快速入门 - APSI 参数文件"],[141,"PIR 快速入门 - CSV 文件"],[138,"PIR 快速入门 - Keyword PIR (APSI)"],[143,"PIR 快速入门 - PIR 配置"],[140,"PIR 快速入门 - 准备数据和配置："],[145,"PIR 快速入门 - 分桶模式"],[137,"PIR 快速入门 - 发布 Docker 镜像"],[144,"PIR 快速入门 - 完整示例"],[139,"PIR 快速入门 - 开始前准备"],[136,"PIR 快速入门 - 支持的协议"],[52,"PIR 配置"],[56,"PIR 配置 - Apsi发送方配置"],[55,"PIR 配置 - Apsi接收方配置"],[57,"PIR 配置 - PIR 结果报告"],[58,"PIR 配置 - 枚举"],[59,"PIR 配置 - 标量值类型"],[53,"PIR 配置 - 目录"],[54,"PIR 配置 - 说明"],[158,"PSI v1 快速入门（已废弃）"],[161,"PSI v1 快速入门（已废弃） - Docker 镜像"],[165,"PSI v1 快速入门（已废弃） - ECDH PSI 基准测试"],[166,"PSI v1 快速入门（已废弃） - KKRT PSI 基准测试"],[160,"PSI v1 快速入门（已废弃） - 准备数据和配置"],[164,"PSI v1 快速入门（已废弃） - 基准测试"],[167,"PSI v1 快速入门（已废弃） - 安全提示"],[159,"PSI v1 快速入门（已废弃） - 支持的协议"],[163,"PSI v1 快速入门（已废弃） - 源码编译"],[162,"PSI v1 快速入门（已废弃） - 运行 PSI"],[81,"PSI v1 配置"],[84,"PSI v1 配置 - BucketPsiConfig"],[91,"PSI v1 配置 - CurveType"],[85,"PSI v1 配置 - DpPsiParams"],[87,"PSI v1 配置 - MemoryPsiConfig"],[89,"PSI v1 配置 - PsiResultReport"],[92,"PSI v1 配置 - PsiType"],[90,"PSI v1 配置 - 枚举"],[93,"PSI v1 配置 - 标量值类型"],[83,"PSI v1 配置 - 消息"],[82,"PSI v1 配置 - 目录"],[86,"PSI v1 配置 - 输入参数"],[88,"PSI v1 配置 - 输出参数"],[149,"PSI V2 基准测试"],[154,"PSI V2 基准测试 - receiver.config"],[153,"PSI V2 基准测试 - sender.config"],[155,"PSI V2 基准测试 - 使用 Docker 运行 PSI"],[152,"PSI V2 基准测试 - 准备配置文件"],[157,"PSI V2 基准测试 - 基准测试"],[150,"PSI V2 基准测试 - 源码构建"],[151,"PSI V2 基准测试 - 生成数据"],[156,"PSI V2 基准测试 - 限制带宽和延迟"],[128,"PSI v2 快速入门"],[129,"PSI v2 快速入门 - Docker镜像"],[130,"PSI v2 快速入门 - 准备数据和配置"],[133,"PSI v2 快速入门 - 更多示例"],[132,"PSI v2 快速入门 - 源码构建"],[131,"PSI v2 快速入门 - 运行PSI"],[134,"PSI v2 快速入门 - 非平衡PSI"],[60,"PSI v2 配置"],[63,"PSI v2 配置 - DebugOptions"],[64,"PSI v2 配置 - EcdhConfig"],[74,"PSI v2 配置 - Enums"],[65,"PSI v2 配置 - InputAttr"],[66,"PSI v2 配置 - IoConfig"],[75,"PSI v2 配置 - IoType"],[67,"PSI v2 配置 - KkrtConfig"],[62,"PSI v2 配置 - Messages"],[68,"PSI v2 配置 - OutputAttr"],[76,"PSI v2 配置 - Protocol"],[69,"PSI v2 配置 - ProtocolConfig"],[70,"PSI v2 配置 - PsiConfig"],[77,"PSI v2 配置 - PsiConfig.AdvancedJoinType"],[71,"PSI v2 配置 - RecoveryConfig"],[78,"PSI v2 配置 - Role"],[72,"PSI v2 配置 - Rr22Config"],[73,"PSI v2 配置 - UbPsiConfig"],[79,"PSI v2 配置 - UbPsiConfig.Mode"],[80,"PSI v2 配置 - 标量值类型"],[61,"PSI v2 配置 - 目录"],[41,"PSI协议介绍"],[43,"PSI协议介绍 - ECDH-PSI（三方协议）"],[42,"PSI协议介绍 - ECDH-PSI协议"],[44,"PSI协议介绍 - KKRT16-PSI协议"],[49,"PSI协议介绍 - RR22高速PSI协议"],[50,"PSI协议介绍 - 参考实现"],[47,"PSI协议介绍 - 基于Ecdh-OPRF的PSI协议"],[45,"PSI协议介绍 - 差分隐私PSI协议"],[48,"PSI协议介绍 - 标签PSI"],[46,"PSI协议介绍 - 非平衡PSI协议"],[22,"入门指南"],[33,"入门指南 - (不推荐使用) Easy PSI"],[24,"入门指南 - C++ 二进制文件"],[37,"入门指南 - Linux"],[27,"入门指南 - Python 包"],[31,"入门指南 - SCQL"],[29,"入门指南 - SecretFlow"],[32,"入门指南 - SecretPad"],[28,"入门指南 - SPU"],[23,"入门指南 - 安装说明"],[25,"入门指南 - 已发布的 Docker 镜像"],[36,"入门指南 - 开发版 Docker 镜像"],[38,"入门指南 - 构建与单元测试"],[26,"入门指南 - 源码编译"],[30,"入门指南 - 相关应用"],[35,"入门指南 - 系统环境准备"],[34,"入门指南 - 编译说明"],[39,"入门指南 - 问题反馈"],[2,"发版说明"],[16,"发版说明 - 0.3.0.dev240222"],[21,"发版说明 - v0.1.0beta"],[20,"发版说明 - v0.2.0.dev231221"],[19,"发版说明 - v0.2.0.dev231228"],[18,"发版说明 - v0.2.0.dev240123"],[17,"发版说明 - v0.3.0.dev240219"],[15,"发版说明 - v0.3.0.dev240304"],[5,"发版说明 - v0.3.0beta"],[14,"发版说明 - v0.3.0beta"],[13,"发版说明 - v0.4.0.dev240329"],[12,"发版说明 - v0.4.0.dev240401"],[11,"发版说明 - v0.4.0.dev240514"],[10,"发版说明 - v0.4.0.dev240517"],[9,"发版说明 - v0.4.0.dev240521"],[8,"发版说明 - v0.4.0.dev240731"],[7,"发版说明 - v0.4.0.dev240801"],[6,"发版说明 - v0.4.0beta"],[4,"发版说明 - v0.5.0beta"],[3,"发版说明 - 发布"],[94,"启动配置"],[100,"启动配置 - AllocatedPorts"],[101,"启动配置 - ClusterDefine"],[109,"启动配置 - ContextDescProto"],[98,"启动配置 - Enums"],[107,"启动配置 - Enums"],[113,"启动配置 - Enums"],[97,"启动配置 - LaunchConfig"],[96,"启动配置 - Messages"],[99,"启动配置 - Messages"],[108,"启动配置 - Messages"],[102,"启动配置 - Party"],[110,"启动配置 - PartyProto"],[103,"启动配置 - Port"],[111,"启动配置 - RetryOptionsProto"],[104,"启动配置 - Service"],[112,"启动配置 - SSLOptionsProto"],[105,"启动配置 - TaskInputConfig"],[106,"启动配置 - TaskInputConfig.SfPsiConfigMapEntry"],[114,"启动配置 - 标量值类型"],[95,"启动配置 - 目录"],[146,"常见问题（FAQ）"],[148,"常见问题（FAQ） - 特性问题"],[147,"常见问题（FAQ） - 配置问题"],[40,"开发者指南"],[1,"欢迎查看SecretFlow PSI的相关文档"],[115,"用户指南"]],"type":"string"},"content":{"docs":{"1":141,"2":0,"3":42,"4":22,"5":20,"6":28,"7":29,"8":37,"9":27,"10":34,"11":21,"12":36,"13":33,"14":35,"15":23,"16":25,"17":32,"18":31,"19":30,"20":24,"21":26,"22":135,"23":1,"24":2,"25":152,"26":146,"27":3,"28":145,"29":143,"30":4,"31":142,"32":144,"33":151,"34":45,"35":5,"36":117,"37":118,"38":119,"39":149,"40":107,"41":92,"42":105,"43":124,"44":67,"45":127,"46":6,"47":68,"48":159,"49":69,"50":78,"51":97,"52":7,"53":44,"54":8,"55":114,"56":137,"57":86,"58":46,"59":65,"60":9,"61":38,"62":10,"63":166,"64":99,"65":132,"66":157,"67":83,"68":131,"69":128,"70":164,"71":106,"72":74,"73":73,"74":11,"75":98,"76":90,"77":165,"78":136,"79":84,"80":63,"81":12,"82":43,"83":13,"84":55,"85":77,"86":58,"87":56,"88":59,"89":91,"90":14,"91":89,"92":57,"93":66,"94":150,"95":39,"96":15,"97":81,"98":47,"99":16,"100":70,"101":72,"102":85,"103":88,"104":94,"105":82,"106":80,"107":48,"108":17,"109":162,"110":79,"111":161,"112":96,"113":49,"114":64,"115":129,"116":133,"117":60,"118":101,"119":122,"120":154,"121":50,"122":155,"123":102,"124":71,"125":62,"126":51,"127":110,"128":18,"129":123,"130":138,"131":111,"132":108,"133":156,"134":139,"135":95,"136":87,"137":147,"138":19,"139":125,"140":116,"141":75,"142":120,"143":93,"144":153,"145":115,"146":126,"147":40,"148":41,"149":134,"150":61,"151":103,"152":121,"153":52,"154":53,"155":100,"156":54,"157":158,"158":163,"159":113,"160":160,"161":148,"162":112,"163":104,"164":130,"165":76,"166":109,"167":140},"orderedDocs":[[2,""],[23,""],[24,""],[27,""],[30,""],[35,""],[46,""],[52,""],[54,""],[60,""],[62,""],[74,""],[81,""],[83,""],[90,""],[96,""],[99,""],[108,""],[128,""],[138,""],[5,"\n[API] pir experimental params\n[API] ecdh batch_size\n[Improvement] 重新移植APSI。\n[Improvement] 临时目录清理。\n[Improvement] 在pir中使用arrow csv读取器。\n [API] pir experimental params [API] ecdh batch_size batch_size [Improvement] 重新移植APSI。 [Improvement] 临时目录清理。 [Improvement] 在pir中使用arrow csv读取器。 "],[11,"\n[API] 为docker文件添加入口点。\n[API] 允许直接向main传递配置JSON。\n[Bugfix] 修复ic模式。\n[Bugfix] 修复RR22、SealPIR和APSI。\n [API] 为docker文件添加入口点。 [API] 允许直接向main传递配置JSON。 [Bugfix] 修复ic模式。 [Bugfix] 修复RR22、SealPIR和APSI。 "],[4,"\n[API] 删除旧版ub psi函数。\n[API] 可以指定输出csv的空值表示。\n[Feature] 支持单接收方的连接操作。\n[Feature] 支持使用ub psi协议进行连接操作。\n[Improvement] RR22 enhancement\n[Drop] ic_mode\n [API] 删除旧版ub psi函数。 [API] [API] 可以指定输出csv的空值表示。 [API] [Feature] 支持单接收方的连接操作。 [Feature] [Feature] 支持使用ub psi协议进行连接操作。 [Feature] [Improvement] RR22 enhancement [Drop] ic_mode "],[15,"\n[API] 在RunLegacyPsi API中暴露ic_mode。\n [API] 在RunLegacyPsi API中暴露ic_mode。 "],[20,"\n[API] 将check_duplicates重命名为skip_duplicates_check。\n[API] 将sort_output重命名为disable_alignment。\n[Feature] 支持左连接、右连接和全连接。修改了求差集的功能。\n[Feature] 如果存在恢复检查点则跳过重复键检查。\n[Bugfix] 修复重复键检查。\n[Bugfix] 修复SyncWait。\n [API] 将check_duplicates重命名为skip_duplicates_check。 [API] 将sort_output重命名为disable_alignment。 [Feature] 支持左连接、右连接和全连接。修改了求差集的功能。 [Feature] 如果存在恢复检查点则跳过重复键检查。 [Bugfix] 修复重复键检查。 [Bugfix] 修复SyncWait。 "],[16,"\n[API] 暴露PIR API。\n [API] 暴露PIR API。 "],[21,"\n[API] 添加PSI v2 API。\n[Feature] 添加RR22协议。\n[Feature] 在v2 API中支持故障恢复。\n[Feature] 在v2 API中支持内连接。\n[Feature] 在v2 API中迁移ECDH、KKRT、RR22协议。\n [API] 添加PSI v2 API。 [Feature] 添加RR22协议。 [Feature] 在v2 API中支持故障恢复。 [Feature] 在v2 API中支持内连接。 [Feature] 在v2 API中迁移ECDH、KKRT、RR22协议。 "],[9,"\n[API] 移除BC22协议\n [API] 移除BC22协议 "],[6,"\n[API] 移除BC22协议\n[API] 为docker文件添加入口点。\n[API] 允许直接向main传递配置JSON。\n[Bugfix] 修复ic模式。\n[Bugfix] 修复RR22、SealPIR和APSI。\n[Improvement] 升级yacl至0.4.5b0版本。\n[Improvement] 更新xz的下载链接。\n [API] 移除BC22协议 [API] 为docker文件添加入口点。 [API] 允许直接向main传递配置JSON。 [Bugfix] 修复ic模式。 [Bugfix] 修复RR22、SealPIR和APSI。 [Improvement] 升级yacl至0.4.5b0版本。 [Improvement] 更新xz的下载链接。 "],[7,"\n[Bugfix] 修复MacOS和arm构建问题。\n [Bugfix] 修复MacOS和arm构建问题。 "],[19,"\n[Bugfix] 修复RR22竞态条件。\n[Improvement] 修改排序缓冲区大小。\n [Bugfix] 修复RR22竞态条件。 [Improvement] 修改排序缓冲区大小。 "],[18,"\n[Feature] 添加RFC9380 25519 elligator2 hash_to_curve。\n[Feature] 添加恶意vole psi。\n[API] 在PSI v2 API中暴露ub psi。\n[Improvement] 修改排序命令中的缓冲区大小。\n[Bugfix] 修复SimpleShuffledBatchProvider。\n[Bugfix] 修复psi_test中的不稳定性。\n[Bugfix] 修复rr22中的竞态条件。\n [Feature] 添加RFC9380 25519 elligator2 hash_to_curve。 [Feature] 添加恶意vole psi。 [API] 在PSI v2 API中暴露ub psi。 [Improvement] 修改排序命令中的缓冲区大小。 [Bugfix] 修复SimpleShuffledBatchProvider。 [Bugfix] 修复psi_test中的不稳定性。 [Bugfix] 修复rr22中的竞态条件。 "],[17,"\n[Feature] 添加用于调试的ecdh日志记录器。\n[API] 修改仓库结构。\n [Feature] 添加用于调试的ecdh日志记录器。 [API] 修改仓库结构。 "],[13,"\n[Improvement] 升级yacl至0.4.4b3版本。\n [Improvement] 升级yacl至0.4.4b3版本。 "],[10,"\n[Improvement] 升级yacl至0.4.5b0版本。\n [Improvement] 升级yacl至0.4.5b0版本。 "],[14,"\n[Improvement] 在系统临时文件夹中添加uuid。\n[Improvement] 在pir中使用arrow csv读取器。\n[Bugfix] 修复psi配置检查中的拼写错误。\n [Improvement] 在系统临时文件夹中添加uuid。 [Improvement] 在pir中使用arrow csv读取器。 [Bugfix] 修复psi配置检查中的拼写错误。 "],[12,"\n[Improvement] 更新xz的下载链接。\n [Improvement] 更新xz的下载链接。 "],[8,"\n[Improvement] 重新移植APSI。\n[Feature] 添加分桶APSI。\n[API] 移除SealPIR。\n [Improvement] 重新移植APSI。 [Feature] 添加分桶APSI。 [API] 移除SealPIR。 "],[61,"\nMessages\n\nDebugOptions\nEcdhConfig\nInputAttr\nIoConfig\nKkrtConfig\nOutputAttr\nProtocolConfig\nPsiConfig\nRecoveryConfig\nRr22Config\nUbPsiConfig\n\n\nEnums\n\nIoType\nProtocol\nPsiConfig.AdvancedJoinType\nRole\nUbPsiConfig.Mode\n\n\nScalar Value Types\n Messages\n\nDebugOptions\nEcdhConfig\nInputAttr\nIoConfig\nKkrtConfig\nOutputAttr\nProtocolConfig\nPsiConfig\nRecoveryConfig\nRr22Config\nUbPsiConfig\n\n \nDebugOptions\nEcdhConfig\nInputAttr\nIoConfig\nKkrtConfig\nOutputAttr\nProtocolConfig\nPsiConfig\nRecoveryConfig\nRr22Config\nUbPsiConfig\n DebugOptions DebugOptions EcdhConfig EcdhConfig InputAttr InputAttr IoConfig IoConfig KkrtConfig KkrtConfig OutputAttr OutputAttr ProtocolConfig ProtocolConfig PsiConfig PsiConfig RecoveryConfig RecoveryConfig Rr22Config Rr22Config UbPsiConfig UbPsiConfig Enums\n\nIoType\nProtocol\nPsiConfig.AdvancedJoinType\nRole\nUbPsiConfig.Mode\n\n \nIoType\nProtocol\nPsiConfig.AdvancedJoinType\nRole\nUbPsiConfig.Mode\n IoType IoType Protocol Protocol PsiConfig.AdvancedJoinType PsiConfig.AdvancedJoinType Role Role UbPsiConfig.Mode UbPsiConfig.Mode Scalar Value Types Scalar Value Types  "],[95,"\nMessages\n\nLaunchConfig\n\n\nMessages\n\nAllocatedPorts\nClusterDefine\nParty\nPort\nService\nTaskInputConfig\nTaskInputConfig.SfPsiConfigMapEntry\n\n\nMessages\n\nContextDescProto\nPartyProto\nRetryOptionsProto\nSSLOptionsProto\n\n\nScalar Value Types\n Messages\n\nLaunchConfig\n\n \nLaunchConfig\n LaunchConfig LaunchConfig Messages\n\nAllocatedPorts\nClusterDefine\nParty\nPort\nService\nTaskInputConfig\nTaskInputConfig.SfPsiConfigMapEntry\n\n \nAllocatedPorts\nClusterDefine\nParty\nPort\nService\nTaskInputConfig\nTaskInputConfig.SfPsiConfigMapEntry\n AllocatedPorts AllocatedPorts ClusterDefine ClusterDefine Party Party Port Port Service Service TaskInputConfig TaskInputConfig TaskInputConfig.SfPsiConfigMapEntry TaskInputConfig.SfPsiConfigMapEntry Messages\n\nContextDescProto\nPartyProto\nRetryOptionsProto\nSSLOptionsProto\n\n \nContextDescProto\nPartyProto\nRetryOptionsProto\nSSLOptionsProto\n ContextDescProto ContextDescProto PartyProto PartyProto RetryOptionsProto RetryOptionsProto SSLOptionsProto SSLOptionsProto Scalar Value Types Scalar Value Types  "],[147,"\n在PSI配置中，broadcast_result 和 receiver 的区别是什么？开启 broadcast_result 是否安全？\n 在PSI配置中，broadcast_result 和 receiver 的区别是什么？开启 broadcast_result 是否安全？ broadcast_result receiver broadcast_result 在PSI协议中，承诺接收交集的一方称为 receiver （接收方），另一方称为 sender （发送方）。当 broadcast_result 开启时，sender 也会收到交集。双方必须就 broadcast_result 的值达成一致，否则程序将停止运行。 receiver sender broadcast_result sender broadcast_result 如果 broadcast_result 开启，只有 receiver （接收方）和 sender （发送方）能够接收结果，而任何第三方都无法看到。因此，如果 receiver 和 sender 都希望获取结果，将 broadcast_result 设置为true是安全的。 broadcast_result receiver sender receiver sender broadcast_result \n什么是 IO_TYPE_UNSPECIFIED ?\n 什么是 IO_TYPE_UNSPECIFIED ? 您必须选择一种类型作为IoType。 IO_TYPE_UNSPECIFIED 是 IoType 的默认值，但它没有实际意义。目前，我们仅支持 IO_TYPE_FILE_CSV 。 \n什么是 ADVANCED_JOIN_TYPE_UNSPECIFIED?\n 什么是 ADVANCED_JOIN_TYPE_UNSPECIFIED? PSI协议不允许输入ID中存在重复值。然而，有时我们可能希望在ID中保留重复值，并按照SQL规则执行LEFT / RIGHT / FULL连接。这被称为 AdvancedJoinType。 ADVANCED_JOIN_TYPE_UNSPECIFIED  等价于 ADVANCED_JOIN_TYPE_INNER_JOIN. \n桶大小的推荐值是多少？\n 桶大小的推荐值是多少？ 默认值为2^20。除非您的计算资源非常有限，否则不应更改此值。 \n什么是 disable_alignment?\n 什么是 disable_alignment? 如果开启 disable_alignment ， receiver （接收方）和 sender （发送方）收到的交集不保证对齐（顺序不匹配），但可以节省时间。 receiver sender \n什么是 RetryOptionsProto in ContextDescProto ?\n 什么是 RetryOptionsProto in ContextDescProto ? 我们为所有字段提供了合适的默认值。除非网络状况非常差，否则您不应更改任何值。如需更多信息，您可以查看`此处 <https://github.com/secretflow/yacl/blob/main/yacl/link/link.proto>`_。 https://github.com/secretflow/yacl/blob/main/yacl/link/link.proto "],[148,"\n如何使用SSL？\n 如何使用SSL？ 我们支持mTLS，您应提供合适的 ContextDescProto ： \nenable_ssl  为真。\n在 client_ssl_opts 中，设置 verify_depth 并通过 ca_file_path 提供对等方的CA文件。\n在 server_ssl_opts 中，通过 certificate_path 和 private_key_path 提供自身的证书和私钥文件。\n您必须在双方都提供这些设置。\n enable_ssl  为真。 enable_ssl 在 client_ssl_opts 中，设置 verify_depth 并通过 ca_file_path 提供对等方的CA文件。 client_ssl_opts verify_depth ca_file_path 在 server_ssl_opts 中，通过 certificate_path 和 private_key_path 提供自身的证书和私钥文件。 server_ssl_opts certificate_path private_key_path 您必须在双方都提供这些设置。 example.config example.config example.config  \n如何使用recovery?\n 如何使用recovery? 我们在PSI v2中提供了恢复功能。 您需要提供一个合适的 RecoveryConfig ： \n设置 enabled 为真。\nfolder is provided to store checkpoints.\n 设置 enabled 为真。 enabled folder is provided to store checkpoints. folder 如果PSI任务失败，只需使用相同的配置重新启动任务，进度将会恢复。 "],[3,"\n注意：\n\n[Feature] 前缀表示新功能。\n[Bugfix] 前缀表示修复缺陷。\n[API] 前缀表示API变更。\n[Improvement] 前缀表示实现改进。\n\n 注意： \n[Feature] 前缀表示新功能。\n[Bugfix] 前缀表示修复缺陷。\n[API] 前缀表示API变更。\n[Improvement] 前缀表示实现改进。\n [Feature] 前缀表示新功能。 [Feature] [Bugfix] 前缀表示修复缺陷。 [Bugfix] [API] 前缀表示API变更。 [API] [Improvement] 前缀表示实现改进。 [Improvement] \n[API]  删除 psi_v2配置里的 skip_duplicates_check 。\n [API]  删除 psi_v2配置里的 skip_duplicates_check 。 skip_duplicates_check "],[82,"\n消息\n\nBucketPsiConfig\nDpPsiParams\nInputParams\nMemoryPsiConfig\nOutputParams\nPsiResultReport\n\n\n枚举\n\nCurveType\nPsiType\n\n\nScalar Value Types\n 消息\n\nBucketPsiConfig\nDpPsiParams\nInputParams\nMemoryPsiConfig\nOutputParams\nPsiResultReport\n\n \nBucketPsiConfig\nDpPsiParams\nInputParams\nMemoryPsiConfig\nOutputParams\nPsiResultReport\n BucketPsiConfig BucketPsiConfig DpPsiParams DpPsiParams InputParams InputParams MemoryPsiConfig MemoryPsiConfig OutputParams OutputParams PsiResultReport PsiResultReport 枚举\n\nCurveType\nPsiType\n\n \nCurveType\nPsiType\n CurveType CurveType PsiType PsiType Scalar Value Types Scalar Value Types  "],[53,"\n说明\n\nApsi接收方配置\nApsi发送方配置\nPIR 结果报告\n\n\n标量值类型\n 说明\n\nApsi接收方配置\nApsi发送方配置\nPIR 结果报告\n\n \nApsi接收方配置\nApsi发送方配置\nPIR 结果报告\n Apsi接收方配置 Apsi接收方配置 Apsi发送方配置 Apsi发送方配置 PIR 结果报告 PIR 结果报告 标量值类型 标量值类型  "],[34," "],[58," "],[98," "],[107," "],[113," "],[121," "],[126," "],[153," "],[154," "],[156," "],[84," Bucket-psi 配置  字段类型描述psi_type PsiTypePSI 类型。receiver_rank uint32指定接收方编号。该接收方将获取 PSI 结果。broadcast_result bool是否将 PSI 结果广播给所有参与者。input_params InputParamsPSI 的输入参数。output_params OutputParamsPSI 的输出参数。curve_type CurveType可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。bucket_size uint32可选，用于指定 PSI 中使用的哈希桶大小。preprocess_path string可选，用于指定离线预处理文件的路径。ecdh_secret_key_path string可选，ECDH-OPRF 的密钥路径，256 位（32 字节）二进制文件。dppsi_params DpPsiParams可选，DP-PSI 的参数。 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 psi_type PsiTypePSI 类型。receiver_rank uint32指定接收方编号。该接收方将获取 PSI 结果。broadcast_result bool是否将 PSI 结果广播给所有参与者。input_params InputParamsPSI 的输入参数。output_params OutputParamsPSI 的输出参数。curve_type CurveType可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。bucket_size uint32可选，用于指定 PSI 中使用的哈希桶大小。preprocess_path string可选，用于指定离线预处理文件的路径。ecdh_secret_key_path string可选，ECDH-OPRF 的密钥路径，256 位（32 字节）二进制文件。dppsi_params DpPsiParams可选，DP-PSI 的参数。 psi_type PsiTypePSI 类型。 psi_type psi_type  PsiType  PsiType  PsiType PSI 类型。 PSI 类型。 receiver_rank uint32指定接收方编号。该接收方将获取 PSI 结果。 receiver_rank receiver_rank  uint32  uint32  uint32  uint32 指定接收方编号。该接收方将获取 PSI 结果。 指定接收方编号。该接收方将获取 PSI 结果。 broadcast_result bool是否将 PSI 结果广播给所有参与者。 broadcast_result broadcast_result  bool  bool  bool  bool 是否将 PSI 结果广播给所有参与者。 是否将 PSI 结果广播给所有参与者。 input_params InputParamsPSI 的输入参数。 input_params input_params  InputParams  InputParams  InputParams PSI 的输入参数。 PSI 的输入参数。 output_params OutputParamsPSI 的输出参数。 output_params output_params  OutputParams  OutputParams  OutputParams PSI 的输出参数。 PSI 的输出参数。 curve_type CurveType可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。 curve_type curve_type  CurveType  CurveType  CurveType 可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。 可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。 bucket_size uint32可选，用于指定 PSI 中使用的哈希桶大小。 bucket_size bucket_size  uint32  uint32  uint32  uint32 可选，用于指定 PSI 中使用的哈希桶大小。 可选，用于指定 PSI 中使用的哈希桶大小。 preprocess_path string可选，用于指定离线预处理文件的路径。 preprocess_path preprocess_path  string  string  string  string 可选，用于指定离线预处理文件的路径。 可选，用于指定离线预处理文件的路径。 ecdh_secret_key_path string可选，ECDH-OPRF 的密钥路径，256 位（32 字节）二进制文件。 ecdh_secret_key_path ecdh_secret_key_path  string  string  string  string 可选，ECDH-OPRF 的密钥路径，256 位（32 字节）二进制文件。 可选，ECDH-OPRF 的密钥路径，256 位（32 字节）二进制文件。 dppsi_params DpPsiParams可选，DP-PSI 的参数。 dppsi_params dppsi_params  DpPsiParams  DpPsiParams  DpPsiParams 可选，DP-PSI 的参数。 可选，DP-PSI 的参数。  "],[87," PSI 在内存中的配置。  字段类型描述psi_type PsiTypePSI 类型。receiver_rank uint32指定接收方编号。该接收方将获取 PSI 结果。broadcast_result bool是否将 PSI 结果广播给所有参与者。curve_type CurveType可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。dppsi_params DpPsiParams可选，DP-PSI 的参数。 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 psi_type PsiTypePSI 类型。receiver_rank uint32指定接收方编号。该接收方将获取 PSI 结果。broadcast_result bool是否将 PSI 结果广播给所有参与者。curve_type CurveType可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。dppsi_params DpPsiParams可选，DP-PSI 的参数。 psi_type PsiTypePSI 类型。 psi_type psi_type  PsiType  PsiType  PsiType PSI 类型。 PSI 类型。 receiver_rank uint32指定接收方编号。该接收方将获取 PSI 结果。 receiver_rank receiver_rank  uint32  uint32  uint32  uint32 指定接收方编号。该接收方将获取 PSI 结果。 指定接收方编号。该接收方将获取 PSI 结果。 broadcast_result bool是否将 PSI 结果广播给所有参与者。 broadcast_result broadcast_result  bool  bool  bool  bool 是否将 PSI 结果广播给所有参与者。 是否将 PSI 结果广播给所有参与者。 curve_type CurveType可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。 curve_type curve_type  CurveType  CurveType  CurveType 可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。 可选，在需要时指定 PSI 中使用的椭圆曲线密码算法。 dppsi_params DpPsiParams可选，DP-PSI 的参数。 dppsi_params dppsi_params  DpPsiParams  DpPsiParams  DpPsiParams 可选，DP-PSI 的参数。 可选，DP-PSI 的参数。  "],[92," PSI 的算法类型。 名称编号描述INVALID_PSI_TYPE0noneECDH_PSI_2PC1注意：不再支持 基于 DDH 的 PSIKKRT_PSI_2PC2注意：不再支持 高效批处理的不经意伪随机函数及其在隐私集合求交中的应用 https://eprint.iacr.org/2016/799.pdfECDH_PSI_3PC4基于 ECDH 的多方 PSI（例如 A、B、C（接收方））注意：会泄露两方交集的基数（ECDH_PSI_NPC5迭代运行双方 ECDH PSI 以获得多方 PSI。注意：会泄露两方交集KKRT_PSI_NPC6迭代运行双方 KKRT PSI 以获得多方 PSI。注意：会泄露两方交集ECDH_OPRF_UB_PSI_2PC_GEN_CACHE7注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，生成缓存阶段。ECDH_OPRF_UB_PSI_2PC_TRANSFER_CACHE8注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，传输缓存阶段。ECDH_OPRF_UB_PSI_2PC_OFFLINE9注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，离线阶段。ECDH_OPRF_UB_PSI_2PC_ONLINE10注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，在线阶段。ECDH_OPRF_UB_PSI_2PC_SHUFFLE_ONLINE11注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，含打乱处理的在线阶段。大集合方获得交集结果。DP_PSI_2PC12差分隐私 PSI（DP-PSI），基于 ECDH-PSI。详情见：https://arxiv.org/pdf/2208.13249.pdf，支持差分隐私保护的 PSI 结果。RR22_FAST_PSI_2PC13注意：不再支持 基于 Blazing Fast PSI 的两种模式：快速模式和低通信模式。详情见：https://eprint.iacr.org/2022/320.pdfRR22_LOWCOMM_PSI_2PC14noneRR22_MALICIOUS_PSI_2PC15none 名称编号描述 名称编号描述 名称 名称 编号 编号 描述 描述 INVALID_PSI_TYPE0noneECDH_PSI_2PC1注意：不再支持 基于 DDH 的 PSIKKRT_PSI_2PC2注意：不再支持 高效批处理的不经意伪随机函数及其在隐私集合求交中的应用 https://eprint.iacr.org/2016/799.pdfECDH_PSI_3PC4基于 ECDH 的多方 PSI（例如 A、B、C（接收方））注意：会泄露两方交集的基数（ECDH_PSI_NPC5迭代运行双方 ECDH PSI 以获得多方 PSI。注意：会泄露两方交集KKRT_PSI_NPC6迭代运行双方 KKRT PSI 以获得多方 PSI。注意：会泄露两方交集ECDH_OPRF_UB_PSI_2PC_GEN_CACHE7注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，生成缓存阶段。ECDH_OPRF_UB_PSI_2PC_TRANSFER_CACHE8注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，传输缓存阶段。ECDH_OPRF_UB_PSI_2PC_OFFLINE9注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，离线阶段。ECDH_OPRF_UB_PSI_2PC_ONLINE10注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，在线阶段。ECDH_OPRF_UB_PSI_2PC_SHUFFLE_ONLINE11注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，含打乱处理的在线阶段。大集合方获得交集结果。DP_PSI_2PC12差分隐私 PSI（DP-PSI），基于 ECDH-PSI。详情见：https://arxiv.org/pdf/2208.13249.pdf，支持差分隐私保护的 PSI 结果。RR22_FAST_PSI_2PC13注意：不再支持 基于 Blazing Fast PSI 的两种模式：快速模式和低通信模式。详情见：https://eprint.iacr.org/2022/320.pdfRR22_LOWCOMM_PSI_2PC14noneRR22_MALICIOUS_PSI_2PC15none INVALID_PSI_TYPE0none INVALID_PSI_TYPE INVALID_PSI_TYPE 0 0 none none ECDH_PSI_2PC1注意：不再支持 基于 DDH 的 PSI ECDH_PSI_2PC ECDH_PSI_2PC 1 1 注意：不再支持 基于 DDH 的 PSI 注意：不再支持 基于 DDH 的 PSI 注意：不再支持 KKRT_PSI_2PC2注意：不再支持 高效批处理的不经意伪随机函数及其在隐私集合求交中的应用 https://eprint.iacr.org/2016/799.pdf KKRT_PSI_2PC KKRT_PSI_2PC 2 2 注意：不再支持 高效批处理的不经意伪随机函数及其在隐私集合求交中的应用 https://eprint.iacr.org/2016/799.pdf 注意：不再支持 高效批处理的不经意伪随机函数及其在隐私集合求交中的应用 https://eprint.iacr.org/2016/799.pdf 注意：不再支持 https://eprint.iacr.org/2016/799.pdf ECDH_PSI_3PC4基于 ECDH 的多方 PSI（例如 A、B、C（接收方））注意：会泄露两方交集的基数（ ECDH_PSI_3PC ECDH_PSI_3PC 4 4 基于 ECDH 的多方 PSI（例如 A、B、C（接收方））注意：会泄露两方交集的基数（ 基于 ECDH 的多方 PSI（例如 A、B、C（接收方））注意：会泄露两方交集的基数（ ECDH_PSI_NPC5迭代运行双方 ECDH PSI 以获得多方 PSI。注意：会泄露两方交集 ECDH_PSI_NPC ECDH_PSI_NPC 5 5 迭代运行双方 ECDH PSI 以获得多方 PSI。注意：会泄露两方交集 迭代运行双方 ECDH PSI 以获得多方 PSI。注意：会泄露两方交集 KKRT_PSI_NPC6迭代运行双方 KKRT PSI 以获得多方 PSI。注意：会泄露两方交集 KKRT_PSI_NPC KKRT_PSI_NPC 6 6 迭代运行双方 KKRT PSI 以获得多方 PSI。注意：会泄露两方交集 迭代运行双方 KKRT PSI 以获得多方 PSI。注意：会泄露两方交集 ECDH_OPRF_UB_PSI_2PC_GEN_CACHE7注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，生成缓存阶段。 ECDH_OPRF_UB_PSI_2PC_GEN_CACHE ECDH_OPRF_UB_PSI_2PC_GEN_CACHE 7 7 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，生成缓存阶段。 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，生成缓存阶段。 注意：不再支持 ECDH_OPRF_UB_PSI_2PC_TRANSFER_CACHE8注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，传输缓存阶段。 ECDH_OPRF_UB_PSI_2PC_TRANSFER_CACHE ECDH_OPRF_UB_PSI_2PC_TRANSFER_CACHE 8 8 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，传输缓存阶段。 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，传输缓存阶段。 注意：不再支持 ECDH_OPRF_UB_PSI_2PC_OFFLINE9注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，离线阶段。 ECDH_OPRF_UB_PSI_2PC_OFFLINE ECDH_OPRF_UB_PSI_2PC_OFFLINE 9 9 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，离线阶段。 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，离线阶段。 注意：不再支持 ECDH_OPRF_UB_PSI_2PC_ONLINE10注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，在线阶段。 ECDH_OPRF_UB_PSI_2PC_ONLINE ECDH_OPRF_UB_PSI_2PC_ONLINE 10 10 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，在线阶段。 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，在线阶段。 注意：不再支持 ECDH_OPRF_UB_PSI_2PC_SHUFFLE_ONLINE11注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，含打乱处理的在线阶段。大集合方获得交集结果。 ECDH_OPRF_UB_PSI_2PC_SHUFFLE_ONLINE ECDH_OPRF_UB_PSI_2PC_SHUFFLE_ONLINE 11 11 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，含打乱处理的在线阶段。大集合方获得交集结果。 注意：不再支持 基于 ECDH-OPRF 的两方非均衡 PSI，含打乱处理的在线阶段。大集合方获得交集结果。 注意：不再支持 DP_PSI_2PC12差分隐私 PSI（DP-PSI），基于 ECDH-PSI。详情见：https://arxiv.org/pdf/2208.13249.pdf，支持差分隐私保护的 PSI 结果。 DP_PSI_2PC DP_PSI_2PC 12 12 差分隐私 PSI（DP-PSI），基于 ECDH-PSI。详情见：https://arxiv.org/pdf/2208.13249.pdf，支持差分隐私保护的 PSI 结果。 差分隐私 PSI（DP-PSI），基于 ECDH-PSI。详情见：https://arxiv.org/pdf/2208.13249.pdf，支持差分隐私保护的 PSI 结果。 https://arxiv.org/pdf/2208.13249.pdf，支持差分隐私保护的 RR22_FAST_PSI_2PC13注意：不再支持 基于 Blazing Fast PSI 的两种模式：快速模式和低通信模式。详情见：https://eprint.iacr.org/2022/320.pdf RR22_FAST_PSI_2PC RR22_FAST_PSI_2PC 13 13 注意：不再支持 基于 Blazing Fast PSI 的两种模式：快速模式和低通信模式。详情见：https://eprint.iacr.org/2022/320.pdf 注意：不再支持 基于 Blazing Fast PSI 的两种模式：快速模式和低通信模式。详情见：https://eprint.iacr.org/2022/320.pdf 注意：不再支持 https://eprint.iacr.org/2022/320.pdf RR22_LOWCOMM_PSI_2PC14none RR22_LOWCOMM_PSI_2PC RR22_LOWCOMM_PSI_2PC 14 14 none none RR22_MALICIOUS_PSI_2PC15none RR22_MALICIOUS_PSI_2PC RR22_MALICIOUS_PSI_2PC 15 15 none none  "],[86," PSI 的输入参数。 字段类型描述path string输入 CSV 文件的路径。select_fieldsrepeated string输入数据中需选择字段。precheck bool是否检查选择字段是否重复。 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 path string输入 CSV 文件的路径。select_fieldsrepeated string输入数据中需选择字段。precheck bool是否检查选择字段是否重复。 path string输入 CSV 文件的路径。 path path  string  string  string  string 输入 CSV 文件的路径。 输入 CSV 文件的路径。 select_fieldsrepeated string输入数据中需选择字段。 select_fields select_fields repeated string repeated string repeated string repeated string 输入数据中需选择字段。 输入数据中需选择字段。 precheck bool是否检查选择字段是否重复。 precheck precheck  bool  bool  bool  bool 是否检查选择字段是否重复。 是否检查选择字段是否重复。  "],[88," PSI 的输出参数。 字段类型描述path string输出 CSV 文件的路径。need_sort bool是否按选择字段对输出文件进行排序。 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 path string输出 CSV 文件的路径。need_sort bool是否按选择字段对输出文件进行排序。 path string输出 CSV 文件的路径。 path path  string  string  string  string 输出 CSV 文件的路径。 输出 CSV 文件的路径。 need_sort bool是否按选择字段对输出文件进行排序。 need_sort need_sort  bool  bool  bool  bool 是否按选择字段对输出文件进行排序。 是否按选择字段对输出文件进行排序。  "],[117," 如果构建成功，你将在 bazel-bin/psi 目录下找到一个名为 main 的可执行文件。我们将使用 ./main 文件，并结合一个配置文件来运行APSI协议。例如：  "],[150," 如果构建成功，你将在 bazel-bin/psi 目录中找到一个名为 main 的可执行文件。我们将使用 ./main 文件，并结合配置文件来运行不同的PSI协议。例如： bazel-bin/psi main ./main  "],[125," 然后运行:  "],[80,".proto 中的类型注释C++ 类型Java 类型Python 类型 doubledoubledoublefloat floatfloatfloatfloat int32使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint32。int32intint int64使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint64。int64longint/long uint32使用变长编码。uint32intint/long uint64使用变长编码。uint64longint/long sint32使用变长编码。有符号整数值。这些比常规的 int32 更有效地编码负数。int32intint sint64使用变长编码。有符号整数值。这些比常规的 int64 更有效地编码负数。int64longint/long fixed32始终为四个字节。如果值经常大于 2^28，则比 uint32 更高效。uint32intint fixed64始终为八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32始终为四个字节。int32intint sfixed64始终为八个字节。int64longint/long boolboolbooleanboolean string字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本。stringStringstr/unicode bytes可以包含任意字节序列。stringByteStringstr .proto 中的类型注释C++ 类型Java 类型Python 类型 .proto 中的类型注释C++ 类型Java 类型Python 类型 .proto 中的类型 .proto 中的类型 注释 注释 C++ 类型 C++ 类型 Java 类型 Java 类型 Python 类型 Python 类型  doubledoubledoublefloat floatfloatfloatfloat int32使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint32。int32intint int64使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint64。int64longint/long uint32使用变长编码。uint32intint/long uint64使用变长编码。uint64longint/long sint32使用变长编码。有符号整数值。这些比常规的 int32 更有效地编码负数。int32intint sint64使用变长编码。有符号整数值。这些比常规的 int64 更有效地编码负数。int64longint/long fixed32始终为四个字节。如果值经常大于 2^28，则比 uint32 更高效。uint32intint fixed64始终为八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32始终为四个字节。int32intint sfixed64始终为八个字节。int64longint/long boolboolbooleanboolean string字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本。stringStringstr/unicode bytes可以包含任意字节序列。stringByteStringstr  doubledoubledoublefloat  double  double  "],[114,".proto 类型NotesC++ 类型Java 类型Python 类型 doubledoubledoublefloat floatfloatfloatfloat int32使用变长编码。对负数编码效率较低——如果字段可能包含负值，请改用 sint32。int32intint int64使用变长编码。对负数编码效率较低——如果字段可能包含负值，请改用 sint64。int64longint/long uint32使用可变长度编码。uint32intint/long uint64使用可变长度编码。uint64longint/long sint32使用变长编码。有符号整数值。相比常规的 int32，它能更高效地编码负数。int32intint sint64使用变长编码。有符号整数值。相比常规的 int64，它能更高效地编码负数。int64longint/long fixed32始终为四个字节。如果值经常大于 2^28，则比 uint32 更高效。” 或 “固定为四字节。若数值常大于 2^28，则比 uint32 效率更高。uint32intint fixed64始终为八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32始终为四个字节int32intint sfixed64始终为八个字节int64longint/long boolboolbooleanboolean string字符串必须始终包含UTF-8编码的文本或7位ASCII文本。stringStringstr/unicode bytesMay contain any arbitrary sequence of bytes.stringByteStringstr .proto 类型NotesC++ 类型Java 类型Python 类型 .proto 类型NotesC++ 类型Java 类型Python 类型 .proto 类型 .proto 类型 Notes Notes C++ 类型 C++ 类型 Java 类型 Java 类型 Python 类型 Python 类型  doubledoubledoublefloat floatfloatfloatfloat int32使用变长编码。对负数编码效率较低——如果字段可能包含负值，请改用 sint32。int32intint int64使用变长编码。对负数编码效率较低——如果字段可能包含负值，请改用 sint64。int64longint/long uint32使用可变长度编码。uint32intint/long uint64使用可变长度编码。uint64longint/long sint32使用变长编码。有符号整数值。相比常规的 int32，它能更高效地编码负数。int32intint sint64使用变长编码。有符号整数值。相比常规的 int64，它能更高效地编码负数。int64longint/long fixed32始终为四个字节。如果值经常大于 2^28，则比 uint32 更高效。” 或 “固定为四字节。若数值常大于 2^28，则比 uint32 效率更高。uint32intint fixed64始终为八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32始终为四个字节int32intint sfixed64始终为八个字节int64longint/long boolboolbooleanboolean string字符串必须始终包含UTF-8编码的文本或7位ASCII文本。stringStringstr/unicode bytesMay contain any arbitrary sequence of bytes.stringByteStringstr  doubledoubledoublefloat  double  double  "],[59,".proto 类型备注C++ 类型Java 类型Python 类型 doubledoubledoublefloat floatfloatfloatfloat int32使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint32。int32intint int64使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint64。int64longint/long uint32使用变长编码。uint32intint/long uint64使用变长编码。uint64longint/long sint32使用变长编码。有符号整数值。这些比常规的 int32 更有效地编码负数。int32intint sint64使用变长编码。有符号整数值。这些比常规的 int64 更有效地编码负数。int64longint/long fixed32始终为四个字节。如果值经常大于 2^28，则比 uint32 更高效。uint32intint fixed64始终为八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32始终为四个字节。int32intint sfixed64始终为八个字节。int64longint/long boolboolbooleanboolean string字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本。stringStringstr/unicode bytes可以包含任意字节序列。stringByteStringstr .proto 类型备注C++ 类型Java 类型Python 类型 .proto 类型备注C++ 类型Java 类型Python 类型 .proto 类型 .proto 类型 备注 备注 C++ 类型 C++ 类型 Java 类型 Java 类型 Python 类型 Python 类型  doubledoubledoublefloat floatfloatfloatfloat int32使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint32。int32intint int64使用变长编码。对负数编码效率低——如果字段可能有负值，请改用 sint64。int64longint/long uint32使用变长编码。uint32intint/long uint64使用变长编码。uint64longint/long sint32使用变长编码。有符号整数值。这些比常规的 int32 更有效地编码负数。int32intint sint64使用变长编码。有符号整数值。这些比常规的 int64 更有效地编码负数。int64longint/long fixed32始终为四个字节。如果值经常大于 2^28，则比 uint32 更高效。uint32intint fixed64始终为八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32始终为四个字节。int32intint sfixed64始终为八个字节。int64longint/long boolboolbooleanboolean string字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本。stringStringstr/unicode bytes可以包含任意字节序列。stringByteStringstr  doubledoubledoublefloat  double  double  "],[93,".proto 类型备注C++ 类型Java 类型Python 类型 doubledoubledoublefloat floatfloatfloatfloat int32使用可变长度编码。对于编码负值时效率低下，如果字段可能具有负值，请使用 sint32 代替。int32intint int64使用可变长度编码。对于编码负值时效率低下，如果字段可能具有负值，请使用 sint64 代替。int64longint/long uint32使用可变长度编码。uint32intint/long uint64使用可变长度编码。uint64longint/long sint32使用可变长度编码。有符号整数值。这些编码效率更高，可以更有效地编码负数。int32intint sint64使用可变长度编码。有符号整数值。这些编码效率更高，可以更有效地编码负数。int64longint/long fixed32总是四个字节。如果值经常大于 2^28，则比 uint32 更高效。uint32intint fixed64总是八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32总是四个字节。int32intint sfixed64总是八个字节。int64longint/long boolboolbooleanboolean string字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本。stringStringstr/unicode bytes可能包含任何任意字节序列。stringByteStringstr .proto 类型备注C++ 类型Java 类型Python 类型 .proto 类型备注C++ 类型Java 类型Python 类型 .proto 类型 .proto 类型 备注 备注 C++ 类型 C++ 类型 Java 类型 Java 类型 Python 类型 Python 类型  doubledoubledoublefloat floatfloatfloatfloat int32使用可变长度编码。对于编码负值时效率低下，如果字段可能具有负值，请使用 sint32 代替。int32intint int64使用可变长度编码。对于编码负值时效率低下，如果字段可能具有负值，请使用 sint64 代替。int64longint/long uint32使用可变长度编码。uint32intint/long uint64使用可变长度编码。uint64longint/long sint32使用可变长度编码。有符号整数值。这些编码效率更高，可以更有效地编码负数。int32intint sint64使用可变长度编码。有符号整数值。这些编码效率更高，可以更有效地编码负数。int64longint/long fixed32总是四个字节。如果值经常大于 2^28，则比 uint32 更高效。uint32intint fixed64总是八个字节。如果值经常大于 2^56，则比 uint64 更高效。uint64longint/long sfixed32总是四个字节。int32intint sfixed64总是八个字节。int64longint/long boolboolbooleanboolean string字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本。stringStringstr/unicode bytes可能包含任何任意字节序列。stringByteStringstr  doubledoubledoublefloat  double  double  "],[44,"[KKRT16]_是基于半诚实模型、OT扩展、BaRK-OPRF和布谷鸟哈希的PSI协议。该协议首次实现了在较大数据集（各集合包含 2242^{24}224 个128位长字符串）下仅需一分钟的PSI计算。 2242^{24}224 2242^{24}224 2242^{24} 2242^{24} 2242^{24} 224 224 2 24 2^{24} 224 224  224 2 24 24 24 24 24  24 24 24 我们采用 [PSZ18]_提出的无暂存区三路布谷鸟哈希方案。    \n发送方和接收方协商使用布谷鸟哈希函数 h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m]h1​,h2​,h3​:{0,1}∗→[m]\n接收方将每个x插入到桶 h1(x)h_1(x)h1​(x), h2(x)h_2(x)h2​(x) 或 h3(x)h_3(x)h3​(x) 中\n发送方将每个y插入到桶 h1(y)h_1(y)h1​(y), h2(y)h_2(y)h2​(y) 和 h3(y)h_3(y)h3​(y) 中\n执行BaRK-OPRF协议，接收方获取 Fs,ki(x)F_{s,k_i}(x)Fs,ki​​(x)，发送方获取 Fs,ki(y)F_{s,k_i}(y)Fs,ki​​(y)，针对 binibin_ibini​\n发送方将所有 {Fs,ki(y)}\\{F_{s,k_i}(y)\\}{Fs,ki​​(y)} 值发送给接收方\n接收方比较两个BaRK-OPRF集合并获取交集结果\n 发送方和接收方协商使用布谷鸟哈希函数 h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m]h1​,h2​,h3​:{0,1}∗→[m] h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m]h1​,h2​,h3​:{0,1}∗→[m] h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m]h1​,h2​,h3​:{0,1}∗→[m] h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m] h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m] h1,h2,h3:{0,1}∗→[m]h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m] h1,h2,h3:{0,1}∗→[m] h1 h 1 , h2 h 2 , h3 h 3 : {0,1}∗ {0,1} { 0 , 1 } ∗ → [ m ] h_1,h_2,h_3: {\\{0,1\\}}^{*} \\rightarrow [m] h1​,h2​,h3​:{0,1}∗→[m] h1​,h2​,h3​:  h1​ h 1​ 1​ 1​ 1 1  1 1 ​    ,  h2​ h 2​ 2​ 2​ 2 2  2 2 ​    ,  h3​ h 3​ 3​ 3​ 3 3  3 3 ​     :  {0,1}∗→  {0,1}∗ {0,1} { 0 ,  1 } ∗ ∗ ∗ ∗ ∗  ∗ ∗ ∗  →  [m]  [ m ] 接收方将每个x插入到桶 h1(x)h_1(x)h1​(x), h2(x)h_2(x)h2​(x) 或 h3(x)h_3(x)h3​(x) 中 h1(x)h_1(x)h1​(x) h1(x)h_1(x)h1​(x) h1(x)h_1(x) h1(x)h_1(x) h1(x)h_1(x) h1(x) h1 h 1 ( x ) h_1(x) h1​(x) h1​(x)  h1​ h 1​ 1​ 1​ 1 1  1 1 ​    ( x ) h2(x)h_2(x)h2​(x) h2(x)h_2(x)h2​(x) h2(x)h_2(x) h2(x)h_2(x) h2(x)h_2(x) h2(x) h2 h 2 ( x ) h_2(x) h2​(x) h2​(x)  h2​ h 2​ 2​ 2​ 2 2  2 2 ​    ( x ) h3(x)h_3(x)h3​(x) h3(x)h_3(x)h3​(x) h3(x)h_3(x) h3(x)h_3(x) h3(x)h_3(x) h3(x) h3 h 3 ( x ) h_3(x) h3​(x) h3​(x)  h3​ h 3​ 3​ 3​ 3 3  3 3 ​    ( x ) 发送方将每个y插入到桶 h1(y)h_1(y)h1​(y), h2(y)h_2(y)h2​(y) 和 h3(y)h_3(y)h3​(y) 中 h1(y)h_1(y)h1​(y) h1(y)h_1(y)h1​(y) h1(y)h_1(y) h1(y)h_1(y) h1(y)h_1(y) h1(y) h1 h 1 ( y ) h_1(y) h1​(y) h1​(y)  h1​ h 1​ 1​ 1​ 1 1  1 1 ​    ( y ) h2(y)h_2(y)h2​(y) h2(y)h_2(y)h2​(y) h2(y)h_2(y) h2(y)h_2(y) h2(y)h_2(y) h2(y) h2 h 2 ( y ) h_2(y) h2​(y) h2​(y)  h2​ h 2​ 2​ 2​ 2 2  2 2 ​    ( y ) h3(y)h_3(y)h3​(y) h3(y)h_3(y)h3​(y) h3(y)h_3(y) h3(y)h_3(y) h3(y)h_3(y) h3(y) h3 h 3 ( y ) h_3(y) h3​(y) h3​(y)  h3​ h 3​ 3​ 3​ 3 3  3 3 ​    ( y ) 执行BaRK-OPRF协议，接收方获取 Fs,ki(x)F_{s,k_i}(x)Fs,ki​​(x)，发送方获取 Fs,ki(y)F_{s,k_i}(y)Fs,ki​​(y)，针对 binibin_ibini​ Fs,ki(x)F_{s,k_i}(x)Fs,ki​​(x) Fs,ki(x)F_{s,k_i}(x)Fs,ki​​(x) Fs,ki(x)F_{s,k_i}(x) Fs,ki(x)F_{s,k_i}(x) Fs,ki(x)F_{s,k_i}(x) Fs,ki(x) Fs,ki F s,ki s , ki k i ( x ) F_{s,k_i}(x) Fs,ki​​(x) Fs,ki​​(x)  Fs,ki​​ F s,ki​​ s,ki​​ s,ki​​ s,ki​ s,ki​  s,ki​ s,ki​ s , ki​ k i​ i​ i​ i i  i i ​    ​    ( x ) Fs,ki(y)F_{s,k_i}(y)Fs,ki​​(y) Fs,ki(y)F_{s,k_i}(y)Fs,ki​​(y) Fs,ki(y)F_{s,k_i}(y) Fs,ki(y)F_{s,k_i}(y) Fs,ki(y)F_{s,k_i}(y) Fs,ki(y) Fs,ki F s,ki s , ki k i ( y ) F_{s,k_i}(y) Fs,ki​​(y) Fs,ki​​(y)  Fs,ki​​ F s,ki​​ s,ki​​ s,ki​​ s,ki​ s,ki​  s,ki​ s,ki​ s , ki​ k i​ i​ i​ i i  i i ​    ​    ( y ) binibin_ibini​ binibin_ibini​ binibin_i binibin_i binibin_i bini b i ni n i bin_i bini​ bini​  bi ni​ n i​ i​ i​ i i  i i ​    发送方将所有 {Fs,ki(y)}\\{F_{s,k_i}(y)\\}{Fs,ki​​(y)} 值发送给接收方 {Fs,ki(y)}\\{F_{s,k_i}(y)\\}{Fs,ki​​(y)} {Fs,ki(y)}\\{F_{s,k_i}(y)\\}{Fs,ki​​(y)} {Fs,ki(y)}\\{F_{s,k_i}(y)\\} {Fs,ki(y)}\\{F_{s,k_i}(y)\\} {Fs,ki(y)}\\{F_{s,k_i}(y)\\} {Fs,ki(y)} { Fs,ki F s,ki s , ki k i ( y ) } \\{F_{s,k_i}(y)\\} {Fs,ki​​(y)} {Fs,ki​​(y)}  { Fs,ki​​ F s,ki​​ s,ki​​ s,ki​​ s,ki​ s,ki​  s,ki​ s,ki​ s , ki​ k i​ i​ i​ i i  i i ​    ​    ( y )} 接收方比较两个BaRK-OPRF集合并获取交集结果 "],[47,"[RA18] 第3节介绍了由 [BBCD+11] 提出的基于Ecdh-OPRF的基础非对称PSI协议。该协议放宽了 [JL10] 的安全性要求，使其能够抵御半诚实攻击者。该协议分为两个阶段：预处理阶段和在线阶段。作者提出了多项优化，尽可能将计算和通信成本转移到预处理阶段。 [RA18] [BBCD+11] [JL10] 不经意伪随机函数(OPRF)是客户端和服务器之间用于计算伪随机函数(PRF)输出的双方协议。 [draft-irtf-cfrg-voprf-10] 规定了基于素数阶群构建的OPRF、VOPRF和POPRF协议。 [draft-irtf-cfrg-voprf-10]    \n离线阶段\n\n对于集合中的每个元素 yiy_iyi​ ，Bob使用私钥 β\\betaβ 应用伪随机函数（PRF），即计算 H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta)H2​(yi​,H1​(yi​)β) 。\nBob以打乱的顺序将 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ 发送给Alice。\n\n\n在线阶段\n\n对于集合中的每个元素 xix_ixi​ ，Alice先应用哈希函数，再使用盲化密钥 rir_iri​ 进行指数运算，从而得到 H1(xi)ri{H_1(x_i)}^{r_i}H1​(xi​)ri​ 。Alice将 {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1}{{H1​(xi​)}ri​}i=1n1​​ 发送给Bob。\n对于从Alice接收到的每个元素 H1(xi)riH_1(x_i)^{r_i}H1​(xi​)ri​ ，Bob使用密钥 β\\betaβ 进行指数运算，得到 H1(xi)riβ{H_1(x_i)}^{r_i\\beta}H1​(xi​)ri​β 。Bob将 {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}{ri​}β}i=1n1​​ 发送给Alice。\nAlice从Bob处接收 {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}ri​β}i=1n1​​ ，使用 rir_iri​ 解盲后得到 {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1}{{{H1​(xi​)}β}}i=1n1​​ ，并计算OPRF {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 。\nAlice比较两个集合 {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 和 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ ，从而得到交集。\n\n\n 离线阶段\n\n对于集合中的每个元素 yiy_iyi​ ，Bob使用私钥 β\\betaβ 应用伪随机函数（PRF），即计算 H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta)H2​(yi​,H1​(yi​)β) 。\nBob以打乱的顺序将 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ 发送给Alice。\n\n \n对于集合中的每个元素 yiy_iyi​ ，Bob使用私钥 β\\betaβ 应用伪随机函数（PRF），即计算 H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta)H2​(yi​,H1​(yi​)β) 。\nBob以打乱的顺序将 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ 发送给Alice。\n 对于集合中的每个元素 yiy_iyi​ ，Bob使用私钥 β\\betaβ 应用伪随机函数（PRF），即计算 H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta)H2​(yi​,H1​(yi​)β) 。 yiy_iyi​ yiy_iyi​ yiy_i yiy_i yiy_i yi yi y i y_i yi​ yi​  yi​ y i​ i​ i​ i i  i i ​    β\\betaβ β\\betaβ β\\beta β\\beta β\\beta β β \\beta β β  β H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta)H2​(yi​,H1​(yi​)β) H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta)H2​(yi​,H1​(yi​)β) H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta) H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta) H2(yi,H1(yi)β)H_2(y_i, {H_1(y_i)}^\\beta) H2(yi,H1(yi)β) H2 H 2 ( yi y i , H1(yi)β H1(yi) H1 H 1 ( yi y i ) β ) H_2(y_i, {H_1(y_i)}^\\beta) H2​(yi​,H1​(yi​)β) H2​(yi​,H1​(yi​)β)  H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( yi​ y i​ i​ i​ i i  i i ​    ,  H1​(yi​)β H1​(yi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( yi​ y i​ i​ i​ i i  i i ​    ) β β β β β  β β ) Bob以打乱的顺序将 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ 发送给Alice。 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2(yi,H1(yi)β)}}i=1n2 { { H2 H 2 ( yi y i , H1(yi)β H1(yi) H1 H 1 ( yi y i ) β ) } }i=1n2 } i=1 i = 1 n2 n 2 \\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2​(yi​,H1​(yi​)β)}}i=1n2​​ {{H2​(yi​,H1​(yi​)β)}}i=1n2​​  {{ H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( yi​ y i​ i​ i​ i i  i i ​    ,  H1​(yi​)β H1​(yi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( yi​ y i​ i​ i​ i i  i i ​    ) β β β β β  β β )} }i=1n2​​ } i=1n2​​ i=1n2​​ i=1n2​​ i=1n2​ i=1  i=1 i=1 i = 1 n2​  n2​ n2​ n2​ n 2​ 2​ 2​ 2 2  2 2 ​    ​    在线阶段\n\n对于集合中的每个元素 xix_ixi​ ，Alice先应用哈希函数，再使用盲化密钥 rir_iri​ 进行指数运算，从而得到 H1(xi)ri{H_1(x_i)}^{r_i}H1​(xi​)ri​ 。Alice将 {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1}{{H1​(xi​)}ri​}i=1n1​​ 发送给Bob。\n对于从Alice接收到的每个元素 H1(xi)riH_1(x_i)^{r_i}H1​(xi​)ri​ ，Bob使用密钥 β\\betaβ 进行指数运算，得到 H1(xi)riβ{H_1(x_i)}^{r_i\\beta}H1​(xi​)ri​β 。Bob将 {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}{ri​}β}i=1n1​​ 发送给Alice。\nAlice从Bob处接收 {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}ri​β}i=1n1​​ ，使用 rir_iri​ 解盲后得到 {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1}{{{H1​(xi​)}β}}i=1n1​​ ，并计算OPRF {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 。\nAlice比较两个集合 {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 和 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ ，从而得到交集。\n\n \n对于集合中的每个元素 xix_ixi​ ，Alice先应用哈希函数，再使用盲化密钥 rir_iri​ 进行指数运算，从而得到 H1(xi)ri{H_1(x_i)}^{r_i}H1​(xi​)ri​ 。Alice将 {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1}{{H1​(xi​)}ri​}i=1n1​​ 发送给Bob。\n对于从Alice接收到的每个元素 H1(xi)riH_1(x_i)^{r_i}H1​(xi​)ri​ ，Bob使用密钥 β\\betaβ 进行指数运算，得到 H1(xi)riβ{H_1(x_i)}^{r_i\\beta}H1​(xi​)ri​β 。Bob将 {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}{ri​}β}i=1n1​​ 发送给Alice。\nAlice从Bob处接收 {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}ri​β}i=1n1​​ ，使用 rir_iri​ 解盲后得到 {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1}{{{H1​(xi​)}β}}i=1n1​​ ，并计算OPRF {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 。\nAlice比较两个集合 {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 和 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ ，从而得到交集。\n 对于集合中的每个元素 xix_ixi​ ，Alice先应用哈希函数，再使用盲化密钥 rir_iri​ 进行指数运算，从而得到 H1(xi)ri{H_1(x_i)}^{r_i}H1​(xi​)ri​ 。Alice将 {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1}{{H1​(xi​)}ri​}i=1n1​​ 发送给Bob。 xix_ixi​ xix_ixi​ xix_i xix_i xix_i xi xi x i x_i xi​ xi​  xi​ x i​ i​ i​ i i  i i ​    rir_iri​ rir_iri​ rir_i rir_i rir_i ri ri r i r_i ri​ ri​  ri​ r i​ i​ i​ i i  i i ​    H1(xi)ri{H_1(x_i)}^{r_i}H1​(xi​)ri​ H1(xi)ri{H_1(x_i)}^{r_i}H1​(xi​)ri​ H1(xi)ri{H_1(x_i)}^{r_i} H1(xi)ri{H_1(x_i)}^{r_i} H1(xi)ri{H_1(x_i)}^{r_i} H1(xi)ri H1(xi)ri H1(xi) H1 H 1 ( xi x i ) ri r i {H_1(x_i)}^{r_i} H1​(xi​)ri​ H1​(xi​)ri​  H1​(xi​)ri​ H1​(xi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) ri​ ri​ ri​ ri​ ri​  ri​ ri​ ri​ r i​ i​ i​ i i  i i ​    {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1}{{H1​(xi​)}ri​}i=1n1​​ {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1}{{H1​(xi​)}ri​}i=1n1​​ {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1} {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1} {{H1(xi)}ri}i=1n1\\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1} {{H1(xi)}ri}i=1n1 { { H1 H 1 ( xi x i ) }ri } ri r i }i=1n1 } i=1 i = 1 n1 n 1 \\{\\{H_1(x_i)\\}^{r_i}\\}_{i=1}^{n_1} {{H1​(xi​)}ri​}i=1n1​​ {{H1​(xi​)}ri​}i=1n1​​  {{ H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) }ri​ } ri​ ri​ ri​ ri​ ri​  ri​ ri​ ri​ r i​ i​ i​ i i  i i ​    }i=1n1​​ } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    对于从Alice接收到的每个元素 H1(xi)riH_1(x_i)^{r_i}H1​(xi​)ri​ ，Bob使用密钥 β\\betaβ 进行指数运算，得到 H1(xi)riβ{H_1(x_i)}^{r_i\\beta}H1​(xi​)ri​β 。Bob将 {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}{ri​}β}i=1n1​​ 发送给Alice。 H1(xi)riH_1(x_i)^{r_i}H1​(xi​)ri​ H1(xi)riH_1(x_i)^{r_i}H1​(xi​)ri​ H1(xi)riH_1(x_i)^{r_i} H1(xi)riH_1(x_i)^{r_i} H1(xi)riH_1(x_i)^{r_i} H1(xi)ri H1 H 1 ( xi x i )ri ) ri r i H_1(x_i)^{r_i} H1​(xi​)ri​ H1​(xi​)ri​  H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    )ri​ ) ri​ ri​ ri​ ri​ ri​  ri​ ri​ ri​ r i​ i​ i​ i i  i i ​    β\\betaβ β\\betaβ β\\beta β\\beta β\\beta β β \\beta β β  β H1(xi)riβ{H_1(x_i)}^{r_i\\beta}H1​(xi​)ri​β H1(xi)riβ{H_1(x_i)}^{r_i\\beta}H1​(xi​)ri​β H1(xi)riβ{H_1(x_i)}^{r_i\\beta} H1(xi)riβ{H_1(x_i)}^{r_i\\beta} H1(xi)riβ{H_1(x_i)}^{r_i\\beta} H1(xi)riβ H1(xi)riβ H1(xi) H1 H 1 ( xi x i ) riβ ri r i β {H_1(x_i)}^{r_i\\beta} H1​(xi​)ri​β H1​(xi​)ri​β  H1​(xi​)ri​β H1​(xi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) ri​β ri​β ri​β ri​β ri​β  ri​β ri​β ri​ r i​ i​ i​ i i  i i ​    β {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}{ri​}β}i=1n1​​ {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}{ri​}β}i=1n1​​ {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1} {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1} {{H1(xi)}{ri}β}i=1n1{\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1} {{H1(xi)}{ri}β}i=1n1 {{H1(xi)}{ri}β}i=1n1 {{H1(xi)}{ri}β} { { H1 H 1 ( xi x i ) }{ri}β } {ri}β { ri r i } β } i=1 i = 1 n1 n 1 {\\{\\{H_1(x_i)\\}^{\\{r_i\\}\\beta}\\}}_{i=1}^{n_1} {{H1​(xi​)}{ri​}β}i=1n1​​ {{H1​(xi​)}{ri​}β}i=1n1​​  {{H1​(xi​)}{ri​}β}i=1n1​​ {{H1​(xi​)}{ri​}β} {{ H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) }{ri​}β } {ri​}β {ri​}β {ri​}β {ri​}β {ri​}β  {ri​}β {ri​}β { ri​ r i​ i​ i​ i i  i i ​    } β } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    Alice从Bob处接收 {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}ri​β}i=1n1​​ ，使用 rir_iri​ 解盲后得到 {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1}{{{H1​(xi​)}β}}i=1n1​​ ，并计算OPRF {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 。 {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}ri​β}i=1n1​​ {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1}{{H1​(xi​)}ri​β}i=1n1​​ {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1} {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1} {{H1(xi)}riβ}i=1n1{\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1} {{H1(xi)}riβ}i=1n1 {{H1(xi)}riβ}i=1n1 {{H1(xi)}riβ} { { H1 H 1 ( xi x i ) }riβ } riβ ri r i β } i=1 i = 1 n1 n 1 {\\{\\{H_1(x_i)\\}^{r_i\\beta}\\}}_{i=1}^{n_1} {{H1​(xi​)}ri​β}i=1n1​​ {{H1​(xi​)}ri​β}i=1n1​​  {{H1​(xi​)}ri​β}i=1n1​​ {{H1​(xi​)}ri​β} {{ H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) }ri​β } ri​β ri​β ri​β ri​β ri​β  ri​β ri​β ri​ r i​ i​ i​ i i  i i ​    β } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    rir_iri​ rir_iri​ rir_i rir_i rir_i ri ri r i r_i ri​ ri​  ri​ r i​ i​ i​ i i  i i ​    {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1}{{{H1​(xi​)}β}}i=1n1​​ {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1}{{{H1​(xi​)}β}}i=1n1​​ {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1} {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1} {{{H1(xi)}β}}i=1n1\\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1} {{{H1(xi)}β}}i=1n1 { { { H1 H 1 ( xi x i ) }β } β } }i=1n1 } i=1 i = 1 n1 n 1 \\{\\{\\{H_1(x_i)\\}^\\beta\\}\\}_{i=1}^{n_1} {{{H1​(xi​)}β}}i=1n1​​ {{{H1​(xi​)}β}}i=1n1​​  {{{ H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) }β } β β β β β  β β } }i=1n1​​ } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2(xi,H1(xi)β)}}i=1n1 { { H2 H 2 ( xi x i , H1(xi)β H1(xi) H1 H 1 ( xi x i ) β ) } }i=1n1 } i=1 i = 1 n1 n 1 \\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2​(xi​,H1​(xi​)β)}}i=1n1​​ {{H2​(xi​,H1​(xi​)β)}}i=1n1​​  {{ H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( xi​ x i​ i​ i​ i i  i i ​    ,  H1​(xi​)β H1​(xi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) β β β β β  β β )} }i=1n1​​ } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    Alice比较两个集合 {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ 和 {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ ，从而得到交集。 {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1}{{H2​(xi​,H1​(xi​)β)}}i=1n1​​ {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2(xi,H1(xi)β)}}i=1n1\\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2(xi,H1(xi)β)}}i=1n1 { { H2 H 2 ( xi x i , H1(xi)β H1(xi) H1 H 1 ( xi x i ) β ) } }i=1n1 } i=1 i = 1 n1 n 1 \\{\\{H_2(x_i,{H_1(x_i)}^\\beta)\\}\\}_{i=1}^{n_1} {{H2​(xi​,H1​(xi​)β)}}i=1n1​​ {{H2​(xi​,H1​(xi​)β)}}i=1n1​​  {{ H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( xi​ x i​ i​ i​ i i  i i ​    ,  H1​(xi​)β H1​(xi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( xi​ x i​ i​ i​ i i  i i ​    ) β β β β β  β β )} }i=1n1​​ } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2}{{H2​(yi​,H1​(yi​)β)}}i=1n2​​ {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2(yi,H1(yi)β)}}i=1n2\\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2(yi,H1(yi)β)}}i=1n2 { { H2 H 2 ( yi y i , H1(yi)β H1(yi) H1 H 1 ( yi y i ) β ) } }i=1n2 } i=1 i = 1 n2 n 2 \\{\\{H_2(y_i,{H_1(y_i)}^\\beta)\\}\\}_{i=1}^{n_2} {{H2​(yi​,H1​(yi​)β)}}i=1n2​​ {{H2​(yi​,H1​(yi​)β)}}i=1n2​​  {{ H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( yi​ y i​ i​ i​ i i  i i ​    ,  H1​(yi​)β H1​(yi​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( yi​ y i​ i​ i​ i i  i i ​    ) β β β β β  β β )} }i=1n2​​ } i=1n2​​ i=1n2​​ i=1n2​​ i=1n2​ i=1  i=1 i=1 i = 1 n2​  n2​ n2​ n2​ n 2​ 2​ 2​ 2 2  2 2 ​    ​    "],[49,"[RS21] 提出了基于不经意键值存储（OKVS）和向量不经意线性评估（VOLE）的高效PSI协议。[RR22] 对OKVS数据结构进行了重大改进，并引入了新方法，进一步降低了[RS21]的通信开销。 [RS21] [RR22] 不经意键值存储（OKVS）包含编码（Encode）和解码（Decode）算法。编码算法以键值对(k,v)列表为输入，返回一个抽象数据结构S。解码算法以数据结构S和一个键k'为输入，输出对应的值v'。 伪随机相关性生成器（PCGs）能够高效生成不经意传输（OT）和向量不经意线性评估（VOLE），同时实现亚线性通信和实际可接受的计算开销。PCG依赖于一种被称为适合LPN的纠错码的结构。 secretflow/YACL 提供了VOLE代码的实现。目前支持的LPN友好型编码包括 [CRR21] 的银色编码（LDPC）和 [BCGI+22] 的扩展-累积编码。银色编码（Silver）效率最高，但由于其安全缺陷，不推荐使用。 secretflow/YACL [CRR21] [BCGI+22] 半诚实协议：    \n接收方采样 r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappar←{0,1}κ ，并计算 P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r)P:=Encode(L,r) ，其中 L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\}L:={(Hn∗m(x,r),H(x))∣x∈X} 。\n发送方和接收方运行(sub)VOLE协议，发送方获得 Δ\\DeltaΔ 和 B⃗\\vec{B}B ，接收方获得 A⃗\\vec{A}A 和 C⃗\\vec{C}C ，满足 C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B}C=Δ∗A′+B 。\n接收方将 r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P}r,A=A′+P 发送给发送方。发送方定义 K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A}K=B+Δ⋅A 。\n发送方将 Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y})Y′=Hn∗m(Y,r)⋅K−Δ⋅H(Y) 发送给接收方。\n接收方比较 X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C}X′=Hn∗m(X,r)⋅C 和 Y′Y'Y′ ，输出交集结果 X∩YX \\cap YX∩Y 。\n 接收方采样 r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappar←{0,1}κ ，并计算 P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r)P:=Encode(L,r) ，其中 L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\}L:={(Hn∗m(x,r),H(x))∣x∈X} 。 r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappar←{0,1}κ r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappar←{0,1}κ r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappa r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappa r←{0,1}κr \\leftarrow \\{0,1\\}^\\kappa r←{0,1}κ r ← { 0 , 1 }κ } κ r \\leftarrow \\{0,1\\}^\\kappa r←{0,1}κ r←  r  ←  {0,1}κ  { 0 ,  1 }κ } κ κ κ κ κ  κ κ P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r)P:=Encode(L,r) P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r)P:=Encode(L,r) P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r) P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r) P⃗:=Encode(L,r)\\vec{P} :=  \\mathrm{Encode} (L,r) P⃗:=Encode(L,r) P⃗ P ⃗ : = Encode E n c o d e ( L , r ) \\vec{P} :=  \\mathrm{Encode} (L,r) P:=Encode(L,r) P:=  P P P P P  P        :=  Encode(L,r)  Encode Encode ( L ,  r ) L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\}L:={(Hn∗m(x,r),H(x))∣x∈X} L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\}L:={(Hn∗m(x,r),H(x))∣x∈X} L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\} L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\} L:={(Hn∗m(x,r),H(x))∣x∈X}L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\} L:={(Hn∗m(x,r),H(x))∣x∈X} L : = { ( Hn∗m H n∗m n ∗ m ( x , r ) , H ( x ) ) ∣ x ∈ X } L := \\{(H^{n*m}(x,r),H(x))|x \\in X\\} L:={(Hn∗m(x,r),H(x))∣x∈X} L:=  L  :=  {(Hn∗m(x,r),H(x))∣x∈  {( Hn∗m H n∗m n∗m n∗m n∗m n∗m  n∗m n∗m n ∗ m ( x ,  r ) ,  H ( x )) ∣ x  ∈  X}  X } 发送方和接收方运行(sub)VOLE协议，发送方获得 Δ\\DeltaΔ 和 B⃗\\vec{B}B ，接收方获得 A⃗\\vec{A}A 和 C⃗\\vec{C}C ，满足 C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B}C=Δ∗A′+B 。 Δ\\DeltaΔ Δ\\DeltaΔ Δ\\Delta Δ\\Delta Δ\\Delta Δ Δ \\Delta Δ Δ  Δ B⃗\\vec{B}B B⃗\\vec{B}B B⃗\\vec{B} B⃗\\vec{B} B⃗\\vec{B} B⃗ B⃗ B ⃗ \\vec{B} B B  B B B B B  B       A⃗\\vec{A}A A⃗\\vec{A}A A⃗\\vec{A} A⃗\\vec{A} A⃗\\vec{A} A⃗ A⃗ A ⃗ \\vec{A} A A  A A A A A  A       C⃗\\vec{C}C C⃗\\vec{C}C C⃗\\vec{C} C⃗\\vec{C} C⃗\\vec{C} C⃗ C⃗ C ⃗ \\vec{C} C C  C C C C C  C       C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B}C=Δ∗A′+B C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B}C=Δ∗A′+B C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B} C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B} C⃗=Δ∗A′⃗+B⃗\\vec{C}=\\Delta *\\vec{A'}+\\vec{B} C⃗=Δ∗A′⃗+B⃗ C⃗ C ⃗ = Δ ∗ A′⃗ A′ A ′ ⃗ + B⃗ B ⃗ \\vec{C}=\\Delta *\\vec{A'}+\\vec{B} C=Δ∗A′+B C=  C C C C C  C        =  Δ∗  Δ  ∗  A′+  A′ A′ A′ A′ A′  A′ A ′ ′ ′ ′ ′  ′ ′ ′        +  B  B B B B B  B       接收方将 r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P}r,A=A′+P 发送给发送方。发送方定义 K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A}K=B+Δ⋅A 。 r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P}r,A=A′+P r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P}r,A=A′+P r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P} r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P} r,A⃗=A′⃗+P⃗r, \\vec{A}=\\vec{A'}+\\vec{P} r,A⃗=A′⃗+P⃗ r , A⃗ A ⃗ = A′⃗ A′ A ′ ⃗ + P⃗ P ⃗ r, \\vec{A}=\\vec{A'}+\\vec{P} r,A=A′+P r,A=  r ,  A A A A A  A        =  A′+  A′ A′ A′ A′ A′  A′ A ′ ′ ′ ′ ′  ′ ′ ′        +  P  P P P P P  P       K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A}K=B+Δ⋅A K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A}K=B+Δ⋅A K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A} K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A} K⃗=B⃗+Δ⋅A⃗\\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A} K⃗=B⃗+Δ⋅A⃗ K⃗ K ⃗ = B⃗ B ⃗ + Δ ⋅ A⃗ A ⃗ \\vec{K}=\\vec{B}+\\Delta \\cdot \\vec{A} K=B+Δ⋅A K=  K K K K K  K        =  B+  B B B B B  B        +  Δ⋅  Δ  ⋅  A  A A A A A  A       发送方将 Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y})Y′=Hn∗m(Y,r)⋅K−Δ⋅H(Y) 发送给接收方。 Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y})Y′=Hn∗m(Y,r)⋅K−Δ⋅H(Y) Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y})Y′=Hn∗m(Y,r)⋅K−Δ⋅H(Y) Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y}) Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y}) Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗)Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y}) Y′=Hn∗m(Y⃗,r)⋅K⃗−Δ⋅H(Y⃗) Y′ Y ′ = Hn∗m H n∗m n ∗ m ( Y⃗ Y ⃗ , r ) ⋅ K⃗ K ⃗ − Δ ⋅ H ( Y⃗ Y ⃗ ) Y'=H^{n*m}(\\vec{Y},r)\\cdot \\vec{K}-\\Delta \\cdot H(\\vec{Y}) Y′=Hn∗m(Y,r)⋅K−Δ⋅H(Y) Y′=  Y′ Y ′ ′ ′ ′ ′  ′ ′ ′  =  Hn∗m(Y,r)⋅  Hn∗m H n∗m n∗m n∗m n∗m n∗m  n∗m n∗m n ∗ m ( Y Y Y Y Y  Y       ,  r )  ⋅  K−  K K K K K  K        −  Δ⋅  Δ  ⋅  H(Y)  H ( Y Y Y Y Y  Y       ) 接收方比较 X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C}X′=Hn∗m(X,r)⋅C 和 Y′Y'Y′ ，输出交集结果 X∩YX \\cap YX∩Y 。 X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C}X′=Hn∗m(X,r)⋅C X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C}X′=Hn∗m(X,r)⋅C X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C} X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C} X′=Hn∗m(X⃗,r)⋅C⃗X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C} X′=Hn∗m(X⃗,r)⋅C⃗ X′ X ′ = Hn∗m H n∗m n ∗ m ( X⃗ X ⃗ , r ) ⋅ C⃗ C ⃗ X'=H^{n*m}(\\vec{X},r)\\cdot \\vec{C} X′=Hn∗m(X,r)⋅C X′=  X′ X ′ ′ ′ ′ ′  ′ ′ ′  =  Hn∗m(X,r)⋅  Hn∗m H n∗m n∗m n∗m n∗m n∗m  n∗m n∗m n ∗ m ( X X X X X  X       ,  r )  ⋅  C  C C C C C  C       Y′Y'Y′ Y′Y'Y′ Y′Y' Y′Y' Y′Y' Y′ Y′ Y ′ Y' Y′ Y′  Y′ Y ′ ′ ′ ′ ′  ′ ′ ′ X∩YX \\cap YX∩Y X∩YX \\cap YX∩Y X∩YX \\cap Y X∩YX \\cap Y X∩YX \\cap Y X∩Y X ∩ Y X \\cap Y X∩Y X∩  X  ∩  Y  Y "],[100,"AllocatedPorts 表示 Pod 的已分配端口 FieldTypeDescriptionportsrepeated Port已分配的端口 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description portsrepeated Port已分配的端口 portsrepeated Port已分配的端口 ports ports repeated Port repeated Port repeated Port 已分配的端口 已分配的端口  "],[124,"apsi_sender（32C64G）  然后运行:  "],[101,"ClusterDefine 代表所有参与方的信息 FieldTypeDescriptionpartiesrepeated Party所有参与方的基本信息self_party_idx int32自身参与方的索引self_endpoint_idx int32自身端点的索引 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description partiesrepeated Party所有参与方的基本信息self_party_idx int32自身参与方的索引self_endpoint_idx int32自身端点的索引 partiesrepeated Party所有参与方的基本信息 parties parties repeated Party repeated Party repeated Party 所有参与方的基本信息 所有参与方的基本信息 self_party_idx int32自身参与方的索引 self_party_idx self_party_idx  int32  int32  int32  int32 自身参与方的索引 自身参与方的索引 self_endpoint_idx int32自身端点的索引 self_endpoint_idx self_endpoint_idx  int32  int32  int32  int32 自身端点的索引 自身端点的索引  "],[73,"config for unbalanced psi. 数据域类型描述mode UbPsiConfig.Mode必填role Role当 mode 为 MODE_OFFLINE_GEN_CACHE 之外的其他模式时必填。input_config IoConfig对原始输入的配置。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。keysrepeated string求交所用的键。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE and MODE_FULL 时必填。server_secret_key_path string对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_ONLINE 和 MODE_FULL 时必填。cache_path string必填server_get_result bool无client_get_result bool无disable_alignment bool如果设置为 true，那么输出不一定保证对齐。仅当 server_get_result 和 client_get_result 都为 true 时才有效。output_config IoConfig当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。debug_options DebugOptionsLogging level.advanced_join_type PsiConfig.AdvancedJoinType无left_side Role如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填input_attr InputAttr输入属性output_attr OutputAttr输出属性 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 mode UbPsiConfig.Mode必填role Role当 mode 为 MODE_OFFLINE_GEN_CACHE 之外的其他模式时必填。input_config IoConfig对原始输入的配置。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。keysrepeated string求交所用的键。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE and MODE_FULL 时必填。server_secret_key_path string对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_ONLINE 和 MODE_FULL 时必填。cache_path string必填server_get_result bool无client_get_result bool无disable_alignment bool如果设置为 true，那么输出不一定保证对齐。仅当 server_get_result 和 client_get_result 都为 true 时才有效。output_config IoConfig当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。debug_options DebugOptionsLogging level.advanced_join_type PsiConfig.AdvancedJoinType无left_side Role如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填input_attr InputAttr输入属性output_attr OutputAttr输出属性 mode UbPsiConfig.Mode必填 mode mode  UbPsiConfig.Mode  UbPsiConfig.Mode  UbPsiConfig.Mode 必填 必填 role Role当 mode 为 MODE_OFFLINE_GEN_CACHE 之外的其他模式时必填。 role role  Role  Role  Role 当 mode 为 MODE_OFFLINE_GEN_CACHE 之外的其他模式时必填。 当 mode 为 MODE_OFFLINE_GEN_CACHE 之外的其他模式时必填。 input_config IoConfig对原始输入的配置。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。 input_config input_config  IoConfig  IoConfig  IoConfig 对原始输入的配置。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。 对原始输入的配置。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。 keysrepeated string求交所用的键。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE and MODE_FULL 时必填。 keys keys repeated string repeated string repeated string repeated string 求交所用的键。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE and MODE_FULL 时必填。 求交所用的键。对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_FULL 时必填。对于 Client，当 mode 为 MODE_ONLINE and MODE_FULL 时必填。 server_secret_key_path string对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_ONLINE 和 MODE_FULL 时必填。 server_secret_key_path server_secret_key_path  string  string  string  string 对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_ONLINE 和 MODE_FULL 时必填。 对于 Server，当 mode 为 MODE_OFFLINE_GEN_CACHE, MODE_OFFLINE, MODE_ONLINE 和 MODE_FULL 时必填。 cache_path string必填 cache_path cache_path  string  string  string  string 必填 必填 server_get_result bool无 server_get_result server_get_result  bool  bool  bool  bool 无 无 client_get_result bool无 client_get_result client_get_result  bool  bool  bool  bool 无 无 disable_alignment bool如果设置为 true，那么输出不一定保证对齐。仅当 server_get_result 和 client_get_result 都为 true 时才有效。 disable_alignment disable_alignment  bool  bool  bool  bool 如果设置为 true，那么输出不一定保证对齐。仅当 server_get_result 和 client_get_result 都为 true 时才有效。 如果设置为 true，那么输出不一定保证对齐。仅当 server_get_result 和 client_get_result 都为 true 时才有效。 output_config IoConfig当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。 output_config output_config  IoConfig  IoConfig  IoConfig 当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。 当 mode 为 MODE_ONLINE 和 MODE_FULL 时必填。 debug_options DebugOptionsLogging level. debug_options debug_options  DebugOptions  DebugOptions  DebugOptions Logging level. Logging level. advanced_join_type PsiConfig.AdvancedJoinType无 advanced_join_type advanced_join_type  PsiConfig.AdvancedJoinType  PsiConfig.AdvancedJoinType  PsiConfig.AdvancedJoinType 无 无 left_side Role如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填 left_side left_side  Role  Role  Role 如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填 如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填 input_attr InputAttr输入属性 input_attr input_attr  InputAttr  InputAttr  InputAttr 输入属性 输入属性 output_attr OutputAttr输出属性 output_attr output_attr  OutputAttr  OutputAttr  OutputAttr 输出属性 输出属性  "],[72,"Configs for RR22 protocol. 数据域类型描述bucket_size uint64因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。low_comm_mode bool无 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 bucket_size uint64因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。low_comm_mode bool无 bucket_size uint64因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 bucket_size bucket_size  uint64  uint64  uint64  uint64 因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 low_comm_mode bool无 low_comm_mode low_comm_mode  bool  bool  bool  bool 无 无  "],[141,"CSV 文件格式如下：  请确保： \n从版本 0.4.0b0 开始，CSV 文件必须包含表头。\n首行必须为表头，且只允许包含 key 和 value 两列。\nkey 列必须是数据项（即键）。\nvalue 必须是标签（即值），此列为可选列。\n 从版本 0.4.0b0 开始，CSV 文件必须包含表头。 0.4.0b0 首行必须为表头，且只允许包含 key 和 value 两列。 key value key 列必须是数据项（即键）。 key value 必须是标签（即值），此列为可选列。 value "],[165,"DH-PSI benchmark code DH-PSI benchmark code 通过 docker 限制 cpu 资源 (--cpu) Intel(R) Xeon(R) Platinumcpu2^202^212^222^232^248269CY CPU @ 2.50GHz使用 curve25519-donna4c40.181s81.227s163.509s330.466s666.807s8c20.682s42.054s85.272s173.836s354.842s16c11.639s23.670s48.965s100.903s208.156s Intel(R) Xeon(R) Platinumcpu2^202^212^222^232^24 Intel(R) Xeon(R) Platinumcpu2^202^212^222^232^24 Intel(R) Xeon(R) Platinum Intel(R) Xeon(R) Platinum cpu cpu 2^20 2^20 2^21 2^21 2^22 2^22 2^23 2^23 2^24 2^24 8269CY CPU @ 2.50GHz使用 curve25519-donna4c40.181s81.227s163.509s330.466s666.807s8c20.682s42.054s85.272s173.836s354.842s16c11.639s23.670s48.965s100.903s208.156s 8269CY CPU @ 2.50GHz使用 curve25519-donna4c40.181s81.227s163.509s330.466s666.807s 8269CY CPU @ 2.50GHz使用 curve25519-donna 8269CY CPU @ 2.50GHz 使用 curve25519-donna 4c 4c 40.181s 40.181s 81.227s 81.227s 163.509s 163.509s 330.466s 330.466s 666.807s 666.807s 8c20.682s42.054s85.272s173.836s354.842s 8c 8c 20.682s 20.682s 42.054s 42.054s 85.272s 85.272s 173.836s 173.836s 354.842s 354.842s 16c11.639s23.670s48.965s100.903s208.156s 16c 16c 11.639s 11.639s 23.670s 23.670s 48.965s 48.965s 100.903s 100.903s 208.156s 208.156s ipp-crypto Multi-buffer Functions ipp-crypto Multi-buffer Functions Intel(R) Xeon(R) Platinumcpu2^202^212^222^232^248369B CPU @ 2.70GHzcurve25519(ipp-crypto)4c7.37s15.32s31.932s66.802s139.994s8c4.3s9.095s18.919s40.828s87.649s16c2.921s6.081s13.186s29.614s65.186s Intel(R) Xeon(R) Platinumcpu2^202^212^222^232^24 Intel(R) Xeon(R) Platinumcpu2^202^212^222^232^24 Intel(R) Xeon(R) Platinum Intel(R) Xeon(R) Platinum cpu cpu 2^20 2^20 2^21 2^21 2^22 2^22 2^23 2^23 2^24 2^24 8369B CPU @ 2.70GHzcurve25519(ipp-crypto)4c7.37s15.32s31.932s66.802s139.994s8c4.3s9.095s18.919s40.828s87.649s16c2.921s6.081s13.186s29.614s65.186s 8369B CPU @ 2.70GHzcurve25519(ipp-crypto)4c7.37s15.32s31.932s66.802s139.994s 8369B CPU @ 2.70GHzcurve25519(ipp-crypto) 8369B CPU @ 2.70GHz curve25519(ipp-crypto) 4c 4c 7.37s 7.37s 15.32s 15.32s 31.932s 31.932s 66.802s 66.802s 139.994s 139.994s 8c4.3s9.095s18.919s40.828s87.649s 8c 8c 4.3s 4.3s 9.095s 9.095s 18.919s 18.919s 40.828s 40.828s 87.649s 87.649s 16c2.921s6.081s13.186s29.614s65.186s 16c 16c 2.921s 2.921s 6.081s 6.081s 13.186s 13.186s 29.614s 29.614s 65.186s 65.186s "],[85,"DP-PSI 的输入参数。 字段类型描述bob_sub_sampling doubleBob 子采样使用的 bernoulli_distribution 概率。epsilon doubleDP epsilon 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 bob_sub_sampling doubleBob 子采样使用的 bernoulli_distribution 概率。epsilon doubleDP epsilon bob_sub_sampling doubleBob 子采样使用的 bernoulli_distribution 概率。 bob_sub_sampling bob_sub_sampling  double  double  double  double Bob 子采样使用的 bernoulli_distribution 概率。 Bob 子采样使用的 bernoulli_distribution 概率。 epsilon doubleDP epsilon epsilon epsilon  double  double  double  double DP epsilon DP epsilon  "],[50,"E. Boyle, G. Couteau, N. Gilboa, and Y. Ishai. Compressing vector OLE. In ACM CCS 2018,\npages 896–912. ACM Press, October 2018. E. Boyle, G. Couteau, N. Gilboa, and Y. Ishai. Compressing vector OLE. In ACM CCS 2018,\npages 896–912. ACM Press, October 2018. E. Boyle, G. Couteau, N. Gilboa, Y. Ishai, L. Kohl, P. Rindal, and P. Scholl. Efficient two-round\nOT extension and silent non-interactive secure computation. In ACM CCS 2019, pages 291–308.\nACM Press, November 2019. E. Boyle, G. Couteau, N. Gilboa, Y. Ishai, L. Kohl, P. Rindal, and P. Scholl. Efficient two-round\nOT extension and silent non-interactive secure computation. In ACM CCS 2019, pages 291–308.\nACM Press, November 2019. E. Boyle, G. Couteau, N. Gilboa, Y. Ishai, L. Kohl, P. Rindal, and P. Scholl.\nEfficient two-round OT extension and silent non-interactive secure computation. In ACM CCS 2019,\npages 291–308. ACM Press, November 2019. E. Boyle, G. Couteau, N. Gilboa, Y. Ishai, L. Kohl, P. Rindal, and P. Scholl.\nEfficient two-round OT extension and silent non-interactive secure computation. In ACM CCS 2019,\npages 291–308. ACM Press, November 2019. Daniel J. Bernstein. Curve25519: new diffie-hellman speed records. In In Public\nKey Cryptography (PKC), Springer-Verlag LNCS 3958, page 2006, 2006. (Cited on page 4.) Daniel J. Bernstein. Curve25519: new diffie-hellman speed records. In In Public\nKey Cryptography (PKC), Springer-Verlag LNCS 3958, page 2006, 2006. (Cited on page 4.) Elette Boyle, Geoffroy Couteau, Niv Gilboa, Yuval Ishai, Lisa Kohl, Nicolas Resch, Peter Scholl.\nCorrelated Pseudorandomness from Expand-Accumulate Codes. Crypto2022. Elette Boyle, Geoffroy Couteau, Niv Gilboa, Yuval Ishai, Lisa Kohl, Nicolas Resch, Peter Scholl.\nCorrelated Pseudorandomness from Expand-Accumulate Codes. Crypto2022. Baldi, P., Baronio, R., Cristofaro, E.D., Gasti, P., Tsudik, G.: Countering GATTACA:\nEfficient and Secure Testing of Fully-sequenced Human Genomes. In: ACM\nConference on Computer and Communications Security. pp. 691–702. ACM (2011). Baldi, P., Baronio, R., Cristofaro, E.D., Gasti, P., Tsudik, G.: Countering GATTACA:\nEfficient and Secure Testing of Fully-sequenced Human Genomes. In: ACM\nConference on Computer and Communications Security. pp. 691–702. ACM (2011). G. Couteau, Y. Ishai, L. Kohl, E. Boyle, P. Scholl, and N. Gilboa. Efficient pseudorandom\ncorrelation generators from ring-lpn. Springer-Verlag, 2020. G. Couteau, Y. Ishai, L. Kohl, E. Boyle, P. Scholl, and N. Gilboa. Efficient pseudorandom\ncorrelation generators from ring-lpn. Springer-Verlag, 2020. Chen, H., Huang, Z., Laine, K., Rindal, P.: Labeled PSI from fully homomorphic encryption with malicious\nsecurity. In: Lie, D., Mannan, M., Backes, M., Wang, X. (eds.) ACM CCS 2018. pp. 1223{1237. ACM Press (Oct\n2018). https://doi.org/10.1145/3243734.3243836 Chen, H., Huang, Z., Laine, K., Rindal, P.: Labeled PSI from fully homomorphic encryption with malicious\nsecurity. In: Lie, D., Mannan, M., Backes, M., Wang, X. (eds.) ACM CCS 2018. pp. 1223{1237. ACM Press (Oct\n2018). https://doi.org/10.1145/3243734.3243836 https://doi.org/10.1145/3243734.3243836 Chen, H., Laine, K., Rindal, P.: Fast private set intersection from homomorphic encryption. In: Thuraisingham,\nB.M., Evans, D., Malkin, T., Xu, D. (eds.) ACM CCS 2017. pp. 1243{1255. ACM Press (Oct / Nov 2017).\nhttps://doi.org/10.1145/3133956.3134061 Chen, H., Laine, K., Rindal, P.: Fast private set intersection from homomorphic encryption. In: Thuraisingham,\nB.M., Evans, D., Malkin, T., Xu, D. (eds.) ACM CCS 2017. pp. 1243{1255. ACM Press (Oct / Nov 2017).\nhttps://doi.org/10.1145/3133956.3134061 https://doi.org/10.1145/3133956.3134061 Kelong Cong, Radames Cruz Moreno, Mariana Botelho da Gama, Wei Dai, Ilia Iliashenko, Kim Laine,\nMichael Rosenberg. Labeled PSI from Homomorphic Encryption with Reduced Computation and Communication\nCCS'21: Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications SecurityNovember 2021 Kelong Cong, Radames Cruz Moreno, Mariana Botelho da Gama, Wei Dai, Ilia Iliashenko, Kim Laine,\nMichael Rosenberg. Labeled PSI from Homomorphic Encryption with Reduced Computation and Communication\nCCS'21: Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications SecurityNovember 2021 Geoffroy Couteau, Peter Rindal, and Srinivasan Raghuraman. Silver: Silent VOLE and Oblivious Transfer\nfrom Hardness of Decoding Structured LDPC Codes. Crypto2021. Geoffroy Couteau, Peter Rindal, and Srinivasan Raghuraman. Silver: Silent VOLE and Oblivious Transfer\nfrom Hardness of Decoding Structured LDPC Codes. Crypto2021. Differentially-Private PSI https://arxiv.org/pdf/2208.13249.pdf Differentially-Private PSI https://arxiv.org/pdf/2208.13249.pdf https://arxiv.org/pdf/2208.13249.pdf Costello, C., Longa, P.: Fourq: four-dimensional decompositions on a q-curve over the mersenne prime.\nCryptology ePrint Archive, Report 2015/565 (2015), https://eprint.iacr.org/2015/565 Costello, C., Longa, P.: Fourq: four-dimensional decompositions on a q-curve over the mersenne prime.\nCryptology ePrint Archive, Report 2015/565 (2015), https://eprint.iacr.org/2015/565 https://eprint.iacr.org/2015/565 Fan, J., Vercauteren, F.: Somewhat practical fully homomorphic encryption. Cryptology ePrint Archive,\nReport 2012/144 (2012), http://eprint.iacr.org/2012/144.pdf Fan, J., Vercauteren, F.: Somewhat practical fully homomorphic encryption. Cryptology ePrint Archive,\nReport 2012/144 (2012), http://eprint.iacr.org/2012/144.pdf http://eprint.iacr.org/2012/144.pdf Bernardo A. Huberman, Matt Franklin, and Tad Hogg. Enhancing privacy and trust in electronic\ncommunities. In ACM CONFERENCE ON ELECTRONIC COMMERCE. ACM, 1999. Bernardo A. Huberman, Matt Franklin, and Tad Hogg. Enhancing privacy and trust in electronic\ncommunities. In ACM CONFERENCE ON ELECTRONIC COMMERCE. ACM, 1999. https://github.com/intel/ipp-crypto/ https://github.com/intel/ipp-crypto/ https://github.com/intel/ipp-crypto/ Jarecki, S., Liu, X.: Fast Secure Computation of Set Intersection. In: SCN. LNCS,\nvol. 6280, pp. 418–435. Springer (2010) Jarecki, S., Liu, X.: Fast Secure Computation of Set Intersection. In: SCN. LNCS,\nvol. 6280, pp. 418–435. Springer (2010) V. Kolesnikov, R. Kumaresan, M. Rosulek, and N. Trieu. Efficient batched oblivious PRF with\napplications to private set intersection. In ACM CCS 2016, pages 818–829. ACM Press, October 2016. V. Kolesnikov, R. Kumaresan, M. Rosulek, and N. Trieu. Efficient batched oblivious PRF with\napplications to private set intersection. In ACM CCS 2016, pages 818–829. ACM Press, October 2016. C. Meadows. A more efficient cryptographic matchmaking protocol for use in the absence of a\ncontinuously available third party. In 1986 IEEE Symposium on Security and Privacy, pages 134–134, April 1986. C. Meadows. A more efficient cryptographic matchmaking protocol for use in the absence of a\ncontinuously available third party. In 1986 IEEE Symposium on Security and Privacy, pages 134–134, April 1986. B. Pinkas, T. Schneider, and M. Zohner. Scalable private set intersection based on ot extension.\nACM Transactions on Privacy and Security (TOPS), 21(2)–35, 2018. B. Pinkas, T. Schneider, and M. Zohner. Scalable private set intersection based on ot extension.\nACM Transactions on Privacy and Security (TOPS), 21(2)–35, 2018. Resende, A.C.D., Aranha, D.F.: Faster unbalanced private set intersection. In: Meiklejohn, S.,\nSako, K. (eds.) FC2018. LNCS, vol. 10957, pp. 203{221. Springer, Heidelberg (Feb / Mar 2018) Resende, A.C.D., Aranha, D.F.: Faster unbalanced private set intersection. In: Meiklejohn, S.,\nSako, K. (eds.) FC2018. LNCS, vol. 10957, pp. 203{221. Springer, Heidelberg (Feb / Mar 2018) Srinivasan Raghuraman and Peter Rindal. Blazing Fast PSI from Improved OKVS and Subfield VOLE. CCS'22. Srinivasan Raghuraman and Peter Rindal. Blazing Fast PSI from Improved OKVS and Subfield VOLE. CCS'22. Srinivasan Raghuraman, Peter Rindal, Titouan Tanguy. Expand-Convolute Codes for Pseudorandom\nCorrelation Generators from LPN. Crypto2023. Srinivasan Raghuraman, Peter Rindal, Titouan Tanguy. Expand-Convolute Codes for Pseudorandom\nCorrelation Generators from LPN. Crypto2023. Peter Rindal and Phillipp Schoppmann. VOLE-PSI: fast OPRF and circuit-psi from vector-ole. EUROCRYPT2021. Peter Rindal and Phillipp Schoppmann. VOLE-PSI: fast OPRF and circuit-psi from vector-ole. EUROCRYPT2021. Microsoft SEAL (release 4.0). https://github.com/Microsoft/SEAL (Sep 2022),\nmicrosoft Research, Redmond, WA. Microsoft SEAL (release 4.0). https://github.com/Microsoft/SEAL (Sep 2022),\nmicrosoft Research, Redmond, WA. https://github.com/Microsoft/SEAL Standards for Efficient Cryptography (SEC) <http://www.secg.org/sec2-v2.pdf> Standards for Efficient Cryptography (SEC) <http://www.secg.org/sec2-v2.pdf> http://www.secg.org/sec2-v2.pdf P. Schoppmann, A. Gascón, L. Reichert, and M. Raykova. Distributed vector-OLE: Improved\nconstructions and implementation. In ACM CCS 2019, pages 1055–1072. ACM Press, November 2019. P. Schoppmann, A. Gascón, L. Reichert, and M. Raykova. Distributed vector-OLE: Improved\nconstructions and implementation. In ACM CCS 2019, pages 1055–1072. ACM Press, November 2019. C. Weng, K. Yang, J. Katz, and X. Wang. Wolverine: fast, scalable, and communication-efficient\nzero-knowledge proofs for boolean and arithmetic circuits. In 2021 IEEE Symposium on Security\nand Privacy (SP), pages 1074–1091. IEEE, 2021. C. Weng, K. Yang, J. Katz, and X. Wang. Wolverine: fast, scalable, and communication-efficient\nzero-knowledge proofs for boolean and arithmetic circuits. In 2021 IEEE Symposium on Security\nand Privacy (SP), pages 1074–1091. IEEE, 2021. Oblivious Pseudorandom Functions (OPRFs) using Prime-Order Groups.\nhttps://www.ietf.org/archive/id/draft-irtf-cfrg-voprf-10.html Oblivious Pseudorandom Functions (OPRFs) using Prime-Order Groups.\nhttps://www.ietf.org/archive/id/draft-irtf-cfrg-voprf-10.html https://www.ietf.org/archive/id/draft-irtf-cfrg-voprf-10.html "],[110,"FieldTypeDescriptionid string无host string无 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description id string无host string无 id string无 id id  string  string  string  string 无 无 host string无 host host  string  string  string  string 无 无  "],[106,"FieldTypeDescriptionkey string无value psi.LaunchConfig无 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description key string无value psi.LaunchConfig无 key string无 key key  string  string  string  string 无 无 value psi.LaunchConfig无 value value  psi.LaunchConfig  psi.LaunchConfig  psi.LaunchConfig  psi.LaunchConfig 无 无  "],[97,"FieldTypeDescriptionlink_config yacl.link.ContextDescProto网络配置self_link_party string使用链路配置oneof runtime_config.legacy_psi_config BucketPsiConfig请检查 psi.proto 文件oneof runtime_config.psi_config v2.PsiConfig请检查 psi_v2.proto 文件oneof runtime_config.ub_psi_config v2.UbPsiConfig请检查 psi_v2.proto 文件oneof runtime_config.apsi_sender_config ApsiSenderConfig请检查 psi.proto 文件oneof runtime_config.apsi_receiver_config ApsiReceiverConfig无 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description link_config yacl.link.ContextDescProto网络配置self_link_party string使用链路配置oneof runtime_config.legacy_psi_config BucketPsiConfig请检查 psi.proto 文件oneof runtime_config.psi_config v2.PsiConfig请检查 psi_v2.proto 文件oneof runtime_config.ub_psi_config v2.UbPsiConfig请检查 psi_v2.proto 文件oneof runtime_config.apsi_sender_config ApsiSenderConfig请检查 psi.proto 文件oneof runtime_config.apsi_receiver_config ApsiReceiverConfig无 link_config yacl.link.ContextDescProto网络配置 link_config link_config  yacl.link.ContextDescProto  yacl.link.ContextDescProto  yacl.link.ContextDescProto  yacl.link.ContextDescProto 网络配置 网络配置 self_link_party string使用链路配置 self_link_party self_link_party  string  string  string  string 使用链路配置 使用链路配置 oneof runtime_config.legacy_psi_config BucketPsiConfig请检查 psi.proto 文件 oneof runtime_config.legacy_psi_config oneof runtime_config.legacy_psi_config oneof oneof  BucketPsiConfig  BucketPsiConfig  BucketPsiConfig  BucketPsiConfig 请检查 psi.proto 文件 请检查 psi.proto 文件 oneof runtime_config.psi_config v2.PsiConfig请检查 psi_v2.proto 文件 oneof runtime_config.psi_config oneof runtime_config.psi_config oneof oneof  v2.PsiConfig  v2.PsiConfig  v2.PsiConfig  v2.PsiConfig 请检查 psi_v2.proto 文件 请检查 psi_v2.proto 文件 oneof runtime_config.ub_psi_config v2.UbPsiConfig请检查 psi_v2.proto 文件 oneof runtime_config.ub_psi_config oneof runtime_config.ub_psi_config oneof oneof  v2.UbPsiConfig  v2.UbPsiConfig  v2.UbPsiConfig  v2.UbPsiConfig 请检查 psi_v2.proto 文件 请检查 psi_v2.proto 文件 oneof runtime_config.apsi_sender_config ApsiSenderConfig请检查 psi.proto 文件 oneof runtime_config.apsi_sender_config oneof runtime_config.apsi_sender_config oneof oneof  ApsiSenderConfig  ApsiSenderConfig  ApsiSenderConfig  ApsiSenderConfig 请检查 psi.proto 文件 请检查 psi.proto 文件 oneof runtime_config.apsi_receiver_config ApsiReceiverConfig无 oneof runtime_config.apsi_receiver_config oneof runtime_config.apsi_receiver_config oneof oneof  ApsiReceiverConfig  ApsiReceiverConfig  ApsiReceiverConfig  ApsiReceiverConfig 无 无  "],[105,"FieldTypeDescriptionsf_psi_config_mapmap TaskInputConfig.SfPsiConfigMapEntry无 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description sf_psi_config_mapmap TaskInputConfig.SfPsiConfigMapEntry无 sf_psi_config_mapmap TaskInputConfig.SfPsiConfigMapEntry无 sf_psi_config_map sf_psi_config_map map TaskInputConfig.SfPsiConfigMapEntry map TaskInputConfig.SfPsiConfigMapEntry map TaskInputConfig.SfPsiConfigMapEntry 无 无  "],[67,"KKRT 协议的配置 数据域类型描述bucket_size uint64因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 bucket_size uint64因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 bucket_size uint64因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 bucket_size bucket_size  uint64  uint64  uint64  uint64 因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。 因为整个输入可能不能完全放入内存中，所以输入可能会被分成桶（bucket）。bucket_size 用于指定每个桶中的元素数量。如果内存有限，则应设置较小的值，否则应设置较大的值。如果未指定，默认值为 1 << 20。  "],[79,"NameNumber描述MODE_UNSPECIFIED0无MODE_OFFLINE_GEN_CACHE1Server 只生成 cache，这是 offline 阶段的第一部分。MODE_OFFLINE_TRANSFER_CACHE2Server 只把 cache 发给 client，这是 offline 阶段的第二部分。MODE_OFFLINE3运行 offline 阶段。MODE_ONLINE4运行 online 阶段。MODE_FULL5运行所有阶段。 NameNumber描述 NameNumber描述 Name Name Number Number 描述 描述 MODE_UNSPECIFIED0无MODE_OFFLINE_GEN_CACHE1Server 只生成 cache，这是 offline 阶段的第一部分。MODE_OFFLINE_TRANSFER_CACHE2Server 只把 cache 发给 client，这是 offline 阶段的第二部分。MODE_OFFLINE3运行 offline 阶段。MODE_ONLINE4运行 online 阶段。MODE_FULL5运行所有阶段。 MODE_UNSPECIFIED0无 MODE_UNSPECIFIED MODE_UNSPECIFIED 0 0 无 无 MODE_OFFLINE_GEN_CACHE1Server 只生成 cache，这是 offline 阶段的第一部分。 MODE_OFFLINE_GEN_CACHE MODE_OFFLINE_GEN_CACHE 1 1 Server 只生成 cache，这是 offline 阶段的第一部分。 Server 只生成 cache，这是 offline 阶段的第一部分。 MODE_OFFLINE_TRANSFER_CACHE2Server 只把 cache 发给 client，这是 offline 阶段的第二部分。 MODE_OFFLINE_TRANSFER_CACHE MODE_OFFLINE_TRANSFER_CACHE 2 2 Server 只把 cache 发给 client，这是 offline 阶段的第二部分。 Server 只把 cache 发给 client，这是 offline 阶段的第二部分。 MODE_OFFLINE3运行 offline 阶段。 MODE_OFFLINE MODE_OFFLINE 3 3 运行 offline 阶段。 运行 offline 阶段。 MODE_ONLINE4运行 online 阶段。 MODE_ONLINE MODE_ONLINE 4 4 运行 online 阶段。 运行 online 阶段。 MODE_FULL5运行所有阶段。 MODE_FULL MODE_FULL 5 5 运行所有阶段。 运行所有阶段。  "],[102,"Party 表示参与方的基本信息 FieldTypeDescriptionname string参与方名称role string与方承担的角色。例如：客户端、服务端...servicesrepeated ServicePod 对外提供的服务列表 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description name string参与方名称role string与方承担的角色。例如：客户端、服务端...servicesrepeated ServicePod 对外提供的服务列表 name string参与方名称 name name  string  string  string  string 参与方名称 参与方名称 role string与方承担的角色。例如：客户端、服务端... role role  string  string  string  string 与方承担的角色。例如：客户端、服务端... 与方承担的角色。例如：客户端、服务端... servicesrepeated ServicePod 对外提供的服务列表 services services repeated Service repeated Service repeated Service Pod 对外提供的服务列表 Pod 对外提供的服务列表  "],[57,"PIR 任务的报告。 字段类型描述match_cnt int64无 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 match_cnt int64无 match_cnt int64无 match_cnt match_cnt  int64  int64  int64  int64 无 无  "],[136,"PIR 协议类型服务器数量SealPIR（后续更新）Index PIR单服务器APSIKeyword PIR单服务器 PIR 协议类型服务器数量 PIR 协议类型服务器数量 PIR 协议 PIR 协议 类型 类型 服务器数量 服务器数量 SealPIR（后续更新）Index PIR单服务器APSIKeyword PIR单服务器 SealPIR（后续更新）Index PIR单服务器 SealPIR（后续更新） SealPIR（后续更新） Index PIR Index PIR 单服务器 单服务器 APSIKeyword PIR单服务器 APSI APSI Keyword PIR Keyword PIR 单服务器 单服务器 SealPIR 正在开发中。 "],[103,"Port 表示 Pod 的已分配端口 FieldTypeDescriptionname stringPod 内每个命名的端口名称必须唯一port int32Pod 分配的端口数scope string端口的作用范围。必须为 Cluster、Domain 或 Local。默认为 “Local”. +optionalprotocol string端口的协议。必须为 HTTP 或 GRPC。默认为 “HTTP”. +optional FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description name stringPod 内每个命名的端口名称必须唯一port int32Pod 分配的端口数scope string端口的作用范围。必须为 Cluster、Domain 或 Local。默认为 “Local”. +optionalprotocol string端口的协议。必须为 HTTP 或 GRPC。默认为 “HTTP”. +optional name stringPod 内每个命名的端口名称必须唯一 name name  string  string  string  string Pod 内每个命名的端口名称必须唯一 Pod 内每个命名的端口名称必须唯一 port int32Pod 分配的端口数 port port  int32  int32  int32  int32 Pod 分配的端口数 Pod 分配的端口数 scope string端口的作用范围。必须为 Cluster、Domain 或 Local。默认为 “Local”. +optional scope scope  string  string  string  string 端口的作用范围。必须为 Cluster、Domain 或 Local。默认为 “Local”. +optional 端口的作用范围。必须为 Cluster、Domain 或 Local。默认为 “Local”. +optional protocol string端口的协议。必须为 HTTP 或 GRPC。默认为 “HTTP”. +optional protocol protocol  string  string  string  string 端口的协议。必须为 HTTP 或 GRPC。默认为 “HTTP”. +optional 端口的协议。必须为 HTTP 或 GRPC。默认为 “HTTP”. +optional  "],[91,"PSI 中使用的指定椭圆曲线密码算法。 名称编号描述CURVE_INVALID_TYPE0noneCURVE_255191Daniel J. Bernstein：Curve25519——新的 Diffie-Hellman 速度记录CURVE_FOURQ2FourQ：在 Mersenne 素数上的 Q 曲线进行四维分解CURVE_SM23SM2 是一种基于椭圆曲线的密码系统（ECC），已作为中国国家标准 GBT 32918.1-2016 发布，并被收录于国际标准 ISO/IEC 14888-3 中。CURVE_SECP256K14该椭圆曲线的参数定义于《高效密码学标准（SEC）》：http://www.secg.org/sec2-v2.pdfCURVE_25519_ELLIGATOR25带有 rfc9380 elligator2 hash_to_curve 的 Curve25519 名称编号描述 名称编号描述 名称 名称 编号 编号 描述 描述 CURVE_INVALID_TYPE0noneCURVE_255191Daniel J. Bernstein：Curve25519——新的 Diffie-Hellman 速度记录CURVE_FOURQ2FourQ：在 Mersenne 素数上的 Q 曲线进行四维分解CURVE_SM23SM2 是一种基于椭圆曲线的密码系统（ECC），已作为中国国家标准 GBT 32918.1-2016 发布，并被收录于国际标准 ISO/IEC 14888-3 中。CURVE_SECP256K14该椭圆曲线的参数定义于《高效密码学标准（SEC）》：http://www.secg.org/sec2-v2.pdfCURVE_25519_ELLIGATOR25带有 rfc9380 elligator2 hash_to_curve 的 Curve25519 CURVE_INVALID_TYPE0none CURVE_INVALID_TYPE CURVE_INVALID_TYPE 0 0 none none CURVE_255191Daniel J. Bernstein：Curve25519——新的 Diffie-Hellman 速度记录 CURVE_25519 CURVE_25519 1 1 Daniel J. Bernstein：Curve25519——新的 Diffie-Hellman 速度记录 Daniel J. Bernstein：Curve25519——新的 Diffie-Hellman 速度记录 CURVE_FOURQ2FourQ：在 Mersenne 素数上的 Q 曲线进行四维分解 CURVE_FOURQ CURVE_FOURQ 2 2 FourQ：在 Mersenne 素数上的 Q 曲线进行四维分解 FourQ：在 Mersenne 素数上的 Q 曲线进行四维分解 CURVE_SM23SM2 是一种基于椭圆曲线的密码系统（ECC），已作为中国国家标准 GBT 32918.1-2016 发布，并被收录于国际标准 ISO/IEC 14888-3 中。 CURVE_SM2 CURVE_SM2 3 3 SM2 是一种基于椭圆曲线的密码系统（ECC），已作为中国国家标准 GBT 32918.1-2016 发布，并被收录于国际标准 ISO/IEC 14888-3 中。 SM2 是一种基于椭圆曲线的密码系统（ECC），已作为中国国家标准 GBT 32918.1-2016 发布，并被收录于国际标准 ISO/IEC 14888-3 中。 CURVE_SECP256K14该椭圆曲线的参数定义于《高效密码学标准（SEC）》：http://www.secg.org/sec2-v2.pdf CURVE_SECP256K1 CURVE_SECP256K1 4 4 该椭圆曲线的参数定义于《高效密码学标准（SEC）》：http://www.secg.org/sec2-v2.pdf 该椭圆曲线的参数定义于《高效密码学标准（SEC）》：http://www.secg.org/sec2-v2.pdf http://www.secg.org/sec2-v2.pdf CURVE_25519_ELLIGATOR25带有 rfc9380 elligator2 hash_to_curve 的 Curve25519 CURVE_25519_ELLIGATOR2 CURVE_25519_ELLIGATOR2 5 5 带有 rfc9380 elligator2 hash_to_curve 的 Curve25519 带有 rfc9380 elligator2 hash_to_curve 的 Curve25519 "],[76,"PSI 协议。 NameNumber描述PROTOCOL_UNSPECIFIED0无PROTOCOL_ECDH1[Mea86]C. Meadows, “A More Efficient Cryptographic Matchmaking Protocol for Use in the Absence of a Continuously Available Third Party,” 1986 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 1986, pp. 134-134, doi: 10.1109/SP.1986.10022.PROTOCOL_KKRT2Efficient Batched Oblivious PRF with Applications to Private Set Intersection https://eprint.iacr.org/2016/799.pdfPROTOCOL_RR223Blazing Fast PSI https://eprint.iacr.org/2022/320.pdf NameNumber描述 NameNumber描述 Name Name Number Number 描述 描述 PROTOCOL_UNSPECIFIED0无PROTOCOL_ECDH1[Mea86]C. Meadows, “A More Efficient Cryptographic Matchmaking Protocol for Use in the Absence of a Continuously Available Third Party,” 1986 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 1986, pp. 134-134, doi: 10.1109/SP.1986.10022.PROTOCOL_KKRT2Efficient Batched Oblivious PRF with Applications to Private Set Intersection https://eprint.iacr.org/2016/799.pdfPROTOCOL_RR223Blazing Fast PSI https://eprint.iacr.org/2022/320.pdf PROTOCOL_UNSPECIFIED0无 PROTOCOL_UNSPECIFIED PROTOCOL_UNSPECIFIED 0 0 无 无 PROTOCOL_ECDH1[Mea86]C. Meadows, “A More Efficient Cryptographic Matchmaking Protocol for Use in the Absence of a Continuously Available Third Party,” 1986 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 1986, pp. 134-134, doi: 10.1109/SP.1986.10022. PROTOCOL_ECDH PROTOCOL_ECDH 1 1 [Mea86]C. Meadows, “A More Efficient Cryptographic Matchmaking Protocol for Use in the Absence of a Continuously Available Third Party,” 1986 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 1986, pp. 134-134, doi: 10.1109/SP.1986.10022. [Mea86]C. Meadows, “A More Efficient Cryptographic Matchmaking Protocol for Use in the Absence of a Continuously Available Third Party,” 1986 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 1986, pp. 134-134, doi: 10.1109/SP.1986.10022. PROTOCOL_KKRT2Efficient Batched Oblivious PRF with Applications to Private Set Intersection https://eprint.iacr.org/2016/799.pdf PROTOCOL_KKRT PROTOCOL_KKRT 2 2 Efficient Batched Oblivious PRF with Applications to Private Set Intersection https://eprint.iacr.org/2016/799.pdf Efficient Batched Oblivious PRF with Applications to Private Set Intersection https://eprint.iacr.org/2016/799.pdf https://eprint.iacr.org/2016/799.pdf PROTOCOL_RR223Blazing Fast PSI https://eprint.iacr.org/2022/320.pdf PROTOCOL_RR22 PROTOCOL_RR22 3 3 Blazing Fast PSI https://eprint.iacr.org/2022/320.pdf Blazing Fast PSI https://eprint.iacr.org/2022/320.pdf https://eprint.iacr.org/2022/320.pdf "],[89,"PSI 结果报告。 字段类型描述original_count int64输入数据量。intersection_count int64交集数据量。当本方无法获取结果时，返回 -1。original_key_count int64noneintersection_key_count int64none 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 original_count int64输入数据量。intersection_count int64交集数据量。当本方无法获取结果时，返回 -1。original_key_count int64noneintersection_key_count int64none original_count int64输入数据量。 original_count original_count  int64  int64  int64  int64 输入数据量。 输入数据量。 intersection_count int64交集数据量。当本方无法获取结果时，返回 -1。 intersection_count intersection_count  int64  int64  int64  int64 交集数据量。当本方无法获取结果时，返回 -1。 交集数据量。当本方无法获取结果时，返回 -1。 -1 original_key_count int64none original_key_count original_key_count  int64  int64  int64  int64 none none intersection_key_count int64none intersection_key_count intersection_key_count  int64  int64  int64  int64 none none  "],[41,"SecretFlow SPU实现了以下PSI协议： \n基于ECDH的半诚实两方PSI协议 [HFH99]\n基于半诚实模型的ECDH三方PSI协议\n基于半诚实模型的OT两方PSI协议 [KKRT16]\n差分隐私(DP)PSI协议 [DP-PSI]\n非平衡PSI协议\n基于VOLE的半诚实/恶意两方PSI协议 [RS21] [RR22]\n 基于ECDH的半诚实两方PSI协议 [HFH99] [HFH99] 基于半诚实模型的ECDH三方PSI协议 基于半诚实模型的OT两方PSI协议 [KKRT16] [KKRT16] 差分隐私(DP)PSI协议 [DP-PSI] [DP-PSI] 非平衡PSI协议 基于VOLE的半诚实/恶意两方PSI协议 [RS21] [RR22] [RS21] [RR22] "],[143,"Sender: 设置阶段。此阶段中，sender 根据输入的 CSV 文件生成 db 文件。此阶段为离线操作。自 0.4.0b0 版本起，用来生成 db 文件的 CSV 源文件通过 source_file 指定，而 db_file 用于指定生成 db 文件路径。 0.4.0b0 source_file db_file apsi_sender_setup.json apsi_sender_setup.json apsi_sender_setup.json  Sender: 在线阶段。此阶段中，sender 接收 recivers 的查询并生成相应，需要保持在线。 apsi_sender_online.json apsi_sender_online.json apsi_sender_online.json  Receiver: 在线阶段 apsi_receiver.json apsi_receiver.json apsi_receiver.json  params_file 字段是可选的。如果未提供，receiver 会向 sender 请求该参数。如果提供了该文件，请确保其与 sender 使用的文件一致。 "],[104,"Service 表示与端口对应的服务地址 FieldTypeDescriptionport_name string端口名称endpointsrepeated string与端口对应的端点列表 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description port_name string端口名称endpointsrepeated string与端口对应的端点列表 port_name string端口名称 port_name port_name  string  string  string  string 端口名称 端口名称 endpointsrepeated string与端口对应的端点列表 endpoints endpoints repeated string repeated string repeated string repeated string 与端口对应的端点列表 与端口对应的端点列表  "],[135,"SPU（密文运算单元）匿踪查询（PIR）快速入门。 "],[112,"SSL 选项 FieldTypeDescriptioncertificate_path string证书文件地址private_key_path string私钥文件地址verify_depth int32设置证书链验证的最大深度。如果为 0，则关闭验证ca_file_path string设置受信任的证书颁发机构（CA）文件以验证对等方的证书。如果为空，则使用系统默认的CA文件。 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description certificate_path string证书文件地址private_key_path string私钥文件地址verify_depth int32设置证书链验证的最大深度。如果为 0，则关闭验证ca_file_path string设置受信任的证书颁发机构（CA）文件以验证对等方的证书。如果为空，则使用系统默认的CA文件。 certificate_path string证书文件地址 certificate_path certificate_path  string  string  string  string 证书文件地址 证书文件地址 private_key_path string私钥文件地址 private_key_path private_key_path  string  string  string  string 私钥文件地址 私钥文件地址 verify_depth int32设置证书链验证的最大深度。如果为 0，则关闭验证 verify_depth verify_depth  int32  int32  int32  int32 设置证书链验证的最大深度。如果为 0，则关闭验证 设置证书链验证的最大深度。如果为 0，则关闭验证 ca_file_path string设置受信任的证书颁发机构（CA）文件以验证对等方的证书。如果为空，则使用系统默认的CA文件。 ca_file_path ca_file_path  string  string  string  string 设置受信任的证书颁发机构（CA）文件以验证对等方的证书。如果为空，则使用系统默认的CA文件。 设置受信任的证书颁发机构（CA）文件以验证对等方的证书。如果为空，则使用系统默认的CA文件。  "],[51,"This page covers all Protocol Buffers message as APIs. \nPSI v1 配置\nPSI v2 配置\nPIR 配置\n启动配置\n \nPSI v1 配置\nPSI v2 配置\nPIR 配置\n启动配置\n PSI v1 配置 PSI v1 配置 PSI v2 配置 PSI v2 配置 PIR 配置 PIR 配置 启动配置 启动配置 "],[75,"TODO(junfeng): support more io types including oss, sql, etc. NameNumber描述IO_TYPE_UNSPECIFIED0无IO_TYPE_FILE_CSV1本地 csv 文件。 NameNumber描述 NameNumber描述 Name Name Number Number 描述 描述 IO_TYPE_UNSPECIFIED0无IO_TYPE_FILE_CSV1本地 csv 文件。 IO_TYPE_UNSPECIFIED0无 IO_TYPE_UNSPECIFIED IO_TYPE_UNSPECIFIED 0 0 无 无 IO_TYPE_FILE_CSV1本地 csv 文件。 IO_TYPE_FILE_CSV IO_TYPE_FILE_CSV 1 1 本地 csv 文件。 本地 csv 文件。 "],[64,"为 ECDH 协议的配置 数据域类型描述curve psi.CurveType无batch_size uint64如果未指定，则默认为 4096 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 curve psi.CurveType无batch_size uint64如果未指定，则默认为 4096 curve psi.CurveType无 curve curve  psi.CurveType  psi.CurveType  psi.CurveType  psi.CurveType 无 无 batch_size uint64如果未指定，则默认为 4096 batch_size batch_size  uint64  uint64  uint64  uint64 如果未指定，则默认为 4096 如果未指定，则默认为 4096  "],[155,"为了在不同机器配置和网络配置下测量PSI V2基准测试，我们使用两个Docker容器分别充当发送方和接收方。 alice  bob  "],[118,"为了衡量APSI协议在不同数据规模下的性能，我们需要生成模拟数据。  接下来，我们需要将数据文件和参数文件复制到 /tmp 目录中： /tmp  请注意，为了实现APSI的最佳性能，我们需要针对相应的数据规模和标签长度找到一组合适的参数，在这里，我们直接使用APSI提供的一组默认参数，例如 1M-1-32.json。 "],[123,"为了衡量APSI基准测试在不同机器和网络配置下的性能，我们使用两个Docker 容器分别充当发送方和接收方。 "],[151,"为了衡量不同PSI协议在不同数据规模下的性能，我们需要通过generate_psi.py生成模拟数据。generate_psi.py generate_psi.py  "],[163,"你可以通过 bazel 编译 psi 二进制文件：  然后通过如下命令使用二进制文件：  "],[42,"半诚实DH-PSI协议由Huberman、Franklin和Hogg提出 [HFH99]，其理论基础可追溯至Meadows [Mea86]。该协议采用半诚实模型，所需进行的Diffie-Hellman群指数运算次数与集合元素数量成正比。 [HFH99] [Mea86] 一般而言，基于OT的PSI协议比基于Diffie-Hellman的协议速度更快，但需要更高的通信开销。在某些场景下，通信成本的重要性远高于计算成本。 基于DDH假设的DH-PSI协议实现步骤： \n协商选定群G及其生成元g\n假设：对于随机数a,b,c，无法区分 (ga,gb,gab)(g^a, g^b, g^{ab})(ga,gb,gab) 和 (ga,gb,gc)(g^a, g^b, g^c)(ga,gb,gc)\n 协商选定群G及其生成元g 假设：对于随机数a,b,c，无法区分 (ga,gb,gab)(g^a, g^b, g^{ab})(ga,gb,gab) 和 (ga,gb,gc)(g^a, g^b, g^c)(ga,gb,gc) (ga,gb,gab)(g^a, g^b, g^{ab})(ga,gb,gab) (ga,gb,gab)(g^a, g^b, g^{ab})(ga,gb,gab) (ga,gb,gab)(g^a, g^b, g^{ab}) (ga,gb,gab)(g^a, g^b, g^{ab}) (ga,gb,gab)(g^a, g^b, g^{ab}) (ga,gb,gab) ( ga g a , gb g b , gab g ab a b ) (g^a, g^b, g^{ab}) (ga,gb,gab) (ga,gb,gab)  ( ga g a a a a a  a a ,  gb g b b b b b  b b ,  gab g ab ab ab ab ab  ab ab ab ) (ga,gb,gc)(g^a, g^b, g^c)(ga,gb,gc) (ga,gb,gc)(g^a, g^b, g^c)(ga,gb,gc) (ga,gb,gc)(g^a, g^b, g^c) (ga,gb,gc)(g^a, g^b, g^c) (ga,gb,gc)(g^a, g^b, g^c) (ga,gb,gc) ( ga g a , gb g b , gc g c ) (g^a, g^b, g^c) (ga,gb,gc) (ga,gb,gc)  ( ga g a a a a a  a a ,  gb g b b b b b  b b ,  gc g c c c c c  c c ) 广泛使用的候选群包括有限域乘法群的子群和椭圆曲线群。在实践中，精心选择的椭圆曲线如Curve25519 [Ber06] 在安全性和性能之间提供了良好的平衡。 [Ber06]    \n对于集合中的每个元素 xix_ixi​，Alice 先应用哈希函数，然后用她的密钥 α\\alphaα 进行指数运算，从而计算出 H(xi)α{H(x_i)}^\\alphaH(xi​)α。Alice 将 {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1}{{H(xi​)}α}i=1n1​​ 发送给 Bob。\n对于从上一步Alice接收到的每个元素 H(xi)α{H(x_i)}^\\alphaH(xi​)α ，Bob使用其密钥 β\\betaβ 进行指数运算，计算得到 H(xi)αβ{H(x_i)}^{\\alpha\\beta}H(xi​)αβ 。Bob将 {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ 发送给Alice。\n对于集合中的每个元素 yiy_iyi​ ，Bob先应用哈希函数，然后使用其密钥 β\\betaβ 进行指数运算，计算得到 H(yi)β{H(y_i)}^\\betaH(yi​)β 。Bob将集合 {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2}{{H(yi​)}β}i=1n2​​ 发送给Alice。\n对于从Bob处接收到的每个元素 H(yi)β{H(y_i)}^\\betaH(yi​)β，Alice使用其密钥 α\\alphaα 对其进行指数运算，计算出 H(yi)βα{H(y_i)}^{\\beta\\alpha}H(yi​)βα。\nAlice比较两个集合 {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ 和 {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2}{{H(yi​)}βα}i=1n2​​ ，得到交集。\n 对于集合中的每个元素 xix_ixi​，Alice 先应用哈希函数，然后用她的密钥 α\\alphaα 进行指数运算，从而计算出 H(xi)α{H(x_i)}^\\alphaH(xi​)α。Alice 将 {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1}{{H(xi​)}α}i=1n1​​ 发送给 Bob。 xix_ixi​ xix_ixi​ xix_i xix_i xix_i xi xi x i x_i xi​ xi​  xi​ x i​ i​ i​ i i  i i ​    α\\alphaα α\\alphaα α\\alpha α\\alpha α\\alpha α α \\alpha α α  α H(xi)α{H(x_i)}^\\alphaH(xi​)α H(xi)α{H(x_i)}^\\alphaH(xi​)α H(xi)α{H(x_i)}^\\alpha H(xi)α{H(x_i)}^\\alpha H(xi)α{H(x_i)}^\\alpha H(xi)α H(xi)α H(xi) H ( xi x i ) α {H(x_i)}^\\alpha H(xi​)α H(xi​)α  H(xi​)α H(xi​) H ( xi​ x i​ i​ i​ i i  i i ​    ) α α α α α  α α {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1}{{H(xi​)}α}i=1n1​​ {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1}{{H(xi​)}α}i=1n1​​ {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1} {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1} {{H(xi)}α}i=1n1\\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1} {{H(xi)}α}i=1n1 { { H ( xi x i ) }α } α }i=1n1 } i=1 i = 1 n1 n 1 \\{\\{H(x_i)\\}^\\alpha\\}_{i=1}^{n_1} {{H(xi​)}α}i=1n1​​ {{H(xi​)}α}i=1n1​​  {{ H ( xi​ x i​ i​ i​ i i  i i ​    ) }α } α α α α α  α α }i=1n1​​ } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    对于从上一步Alice接收到的每个元素 H(xi)α{H(x_i)}^\\alphaH(xi​)α ，Bob使用其密钥 β\\betaβ 进行指数运算，计算得到 H(xi)αβ{H(x_i)}^{\\alpha\\beta}H(xi​)αβ 。Bob将 {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ 发送给Alice。 H(xi)α{H(x_i)}^\\alphaH(xi​)α H(xi)α{H(x_i)}^\\alphaH(xi​)α H(xi)α{H(x_i)}^\\alpha H(xi)α{H(x_i)}^\\alpha H(xi)α{H(x_i)}^\\alpha H(xi)α H(xi)α H(xi) H ( xi x i ) α {H(x_i)}^\\alpha H(xi​)α H(xi​)α  H(xi​)α H(xi​) H ( xi​ x i​ i​ i​ i i  i i ​    ) α α α α α  α α β\\betaβ β\\betaβ β\\beta β\\beta β\\beta β β \\beta β β  β H(xi)αβ{H(x_i)}^{\\alpha\\beta}H(xi​)αβ H(xi)αβ{H(x_i)}^{\\alpha\\beta}H(xi​)αβ H(xi)αβ{H(x_i)}^{\\alpha\\beta} H(xi)αβ{H(x_i)}^{\\alpha\\beta} H(xi)αβ{H(x_i)}^{\\alpha\\beta} H(xi)αβ H(xi)αβ H(xi) H ( xi x i ) αβ α β {H(x_i)}^{\\alpha\\beta} H(xi​)αβ H(xi​)αβ  H(xi​)αβ H(xi​) H ( xi​ x i​ i​ i​ i i  i i ​    ) αβ αβ αβ αβ αβ  αβ αβ α β {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi)}αβ}i=1n1 {{H(xi)}αβ}i=1n1 {{H(xi)}αβ} { { H ( xi x i ) }αβ } αβ α β } i=1 i = 1 n1 n 1 {\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi​)}αβ}i=1n1​​ {{H(xi​)}αβ}i=1n1​​  {{H(xi​)}αβ}i=1n1​​ {{H(xi​)}αβ} {{ H ( xi​ x i​ i​ i​ i i  i i ​    ) }αβ } αβ αβ αβ αβ αβ  αβ αβ α β } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    对于集合中的每个元素 yiy_iyi​ ，Bob先应用哈希函数，然后使用其密钥 β\\betaβ 进行指数运算，计算得到 H(yi)β{H(y_i)}^\\betaH(yi​)β 。Bob将集合 {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2}{{H(yi​)}β}i=1n2​​ 发送给Alice。 yiy_iyi​ yiy_iyi​ yiy_i yiy_i yiy_i yi yi y i y_i yi​ yi​  yi​ y i​ i​ i​ i i  i i ​    β\\betaβ β\\betaβ β\\beta β\\beta β\\beta β β \\beta β β  β H(yi)β{H(y_i)}^\\betaH(yi​)β H(yi)β{H(y_i)}^\\betaH(yi​)β H(yi)β{H(y_i)}^\\beta H(yi)β{H(y_i)}^\\beta H(yi)β{H(y_i)}^\\beta H(yi)β H(yi)β H(yi) H ( yi y i ) β {H(y_i)}^\\beta H(yi​)β H(yi​)β  H(yi​)β H(yi​) H ( yi​ y i​ i​ i​ i i  i i ​    ) β β β β β  β β {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2}{{H(yi​)}β}i=1n2​​ {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2}{{H(yi​)}β}i=1n2​​ {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2} {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2} {{H(yi)}β}i=1n2\\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2} {{H(yi)}β}i=1n2 { { H ( yi y i ) }β } β }i=1n2 } i=1 i = 1 n2 n 2 \\{\\{H(y_i)\\}^\\beta\\}_{i=1}^{n_2} {{H(yi​)}β}i=1n2​​ {{H(yi​)}β}i=1n2​​  {{ H ( yi​ y i​ i​ i​ i i  i i ​    ) }β } β β β β β  β β }i=1n2​​ } i=1n2​​ i=1n2​​ i=1n2​​ i=1n2​ i=1  i=1 i=1 i = 1 n2​  n2​ n2​ n2​ n 2​ 2​ 2​ 2 2  2 2 ​    ​    对于从Bob处接收到的每个元素 H(yi)β{H(y_i)}^\\betaH(yi​)β，Alice使用其密钥 α\\alphaα 对其进行指数运算，计算出 H(yi)βα{H(y_i)}^{\\beta\\alpha}H(yi​)βα。 H(yi)β{H(y_i)}^\\betaH(yi​)β H(yi)β{H(y_i)}^\\betaH(yi​)β H(yi)β{H(y_i)}^\\beta H(yi)β{H(y_i)}^\\beta H(yi)β{H(y_i)}^\\beta H(yi)β H(yi)β H(yi) H ( yi y i ) β {H(y_i)}^\\beta H(yi​)β H(yi​)β  H(yi​)β H(yi​) H ( yi​ y i​ i​ i​ i i  i i ​    ) β β β β β  β β α\\alphaα α\\alphaα α\\alpha α\\alpha α\\alpha α α \\alpha α α  α H(yi)βα{H(y_i)}^{\\beta\\alpha}H(yi​)βα H(yi)βα{H(y_i)}^{\\beta\\alpha}H(yi​)βα H(yi)βα{H(y_i)}^{\\beta\\alpha} H(yi)βα{H(y_i)}^{\\beta\\alpha} H(yi)βα{H(y_i)}^{\\beta\\alpha} H(yi)βα H(yi)βα H(yi) H ( yi y i ) βα β α {H(y_i)}^{\\beta\\alpha} H(yi​)βα H(yi​)βα  H(yi​)βα H(yi​) H ( yi​ y i​ i​ i​ i i  i i ​    ) βα βα βα βα βα  βα βα β α Alice比较两个集合 {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ 和 {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2}{{H(yi​)}βα}i=1n2​​ ，得到交集。 {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1}{{H(xi​)}αβ}i=1n1​​ {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi)}αβ}i=1n1{\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi)}αβ}i=1n1 {{H(xi)}αβ}i=1n1 {{H(xi)}αβ} { { H ( xi x i ) }αβ } αβ α β } i=1 i = 1 n1 n 1 {\\{\\{H(x_i)\\}^{\\alpha\\beta}\\}}_{i=1}^{n_1} {{H(xi​)}αβ}i=1n1​​ {{H(xi​)}αβ}i=1n1​​  {{H(xi​)}αβ}i=1n1​​ {{H(xi​)}αβ} {{ H ( xi​ x i​ i​ i​ i i  i i ​    ) }αβ } αβ αβ αβ αβ αβ  αβ αβ α β } i=1n1​​ i=1n1​​ i=1n1​​ i=1n1​ i=1  i=1 i=1 i = 1 n1​  n1​ n1​ n1​ n 1​ 1​ 1​ 1 1  1 1 ​    ​    {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2}{{H(yi​)}βα}i=1n2​​ {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2}{{H(yi​)}βα}i=1n2​​ {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2} {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2} {{H(yi)}βα}i=1n2{\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2} {{H(yi)}βα}i=1n2 {{H(yi)}βα}i=1n2 {{H(yi)}βα} { { H ( yi y i ) }βα } βα β α } i=1 i = 1 n2 n 2 {\\{\\{H(y_i)\\}^{\\beta\\alpha}\\}}_{i=1}^{n_2} {{H(yi​)}βα}i=1n2​​ {{H(yi​)}βα}i=1n2​​  {{H(yi​)}βα}i=1n2​​ {{H(yi​)}βα} {{ H ( yi​ y i​ i​ i​ i i  i i ​    ) }βα } βα βα βα βα βα  βα βα β α } i=1n2​​ i=1n2​​ i=1n2​​ i=1n2​ i=1  i=1 i=1 i = 1 n2​  n2​ n2​ n2​ n 2​ 2​ 2​ 2 2  2 2 ​    ​    SecretFlow SPU PSI模块支持的椭圆曲线群 椭圆曲线群参考实现加密库Curve25519曲线[Ber06]` LibSodium库 <https://doc.libsodium.org/>` _[ipp-crypto] (Intel® CPU support AVX-512 IFMA)Secp256k1曲线[SEC2-v2]` OpenSSL库 <https://www.openssl.org>` _SM2标准GB/T 32918.1-2016标准` OpenSSL库 <https://www.openssl.org>` _ISO/IEC 14888-3FourQ曲线[FourQ]` FourQ库 <https://github.com/microsoft/FourQlib>` _ 椭圆曲线群参考实现加密库 椭圆曲线群参考实现加密库 椭圆曲线群 椭圆曲线群 参考实现 参考实现 加密库 加密库 Curve25519曲线[Ber06]` LibSodium库 <https://doc.libsodium.org/>` _[ipp-crypto] (Intel® CPU support AVX-512 IFMA)Secp256k1曲线[SEC2-v2]` OpenSSL库 <https://www.openssl.org>` _SM2标准GB/T 32918.1-2016标准` OpenSSL库 <https://www.openssl.org>` _ISO/IEC 14888-3FourQ曲线[FourQ]` FourQ库 <https://github.com/microsoft/FourQlib>` _ Curve25519曲线[Ber06]` LibSodium库 <https://doc.libsodium.org/>` _ Curve25519曲线 Curve25519曲线 [Ber06] [Ber06] [Ber06] [Ber06] ` LibSodium库 <https://doc.libsodium.org/>` _ ` LibSodium库 <https://doc.libsodium.org/>` _ https://doc.libsodium.org/ [ipp-crypto] (Intel® CPU support AVX-512 IFMA) [ipp-crypto] (Intel® CPU support AVX-512 IFMA) [ipp-crypto] (Intel® CPU support AVX-512 IFMA) [ipp-crypto] [ipp-crypto] Secp256k1曲线[SEC2-v2]` OpenSSL库 <https://www.openssl.org>` _ Secp256k1曲线 Secp256k1曲线 [SEC2-v2] [SEC2-v2] [SEC2-v2] [SEC2-v2] ` OpenSSL库 <https://www.openssl.org>` _ ` OpenSSL库 <https://www.openssl.org>` _ https://www.openssl.org SM2标准GB/T 32918.1-2016标准` OpenSSL库 <https://www.openssl.org>` _ SM2标准 SM2标准 GB/T 32918.1-2016标准 GB/T 32918.1-2016标准 ` OpenSSL库 <https://www.openssl.org>` _ ` OpenSSL库 <https://www.openssl.org>` _ https://www.openssl.org ISO/IEC 14888-3 ISO/IEC 14888-3 ISO/IEC 14888-3 FourQ曲线[FourQ]` FourQ库 <https://github.com/microsoft/FourQlib>` _ FourQ曲线 FourQ曲线 [FourQ] [FourQ] [FourQ] [FourQ] ` FourQ库 <https://github.com/microsoft/FourQlib>` _ ` FourQ库 <https://github.com/microsoft/FourQlib>` _ https://github.com/microsoft/FourQlib "],[71,"协议恢复配置。如果 PSI 协议意外失败，如发生网络错误，协议可以恢复到最近的检查点。以此可以节省时间，但是会有额外的磁盘读写和占用。 数据域类型描述enabled bool无folder string保存中间状态和检查点的目录 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 enabled bool无folder string保存中间状态和检查点的目录 enabled bool无 enabled enabled  bool  bool  bool  bool 无 无 folder string保存中间状态和检查点的目录 folder folder  string  string  string  string 保存中间状态和检查点的目录 保存中间状态和检查点的目录  "],[40,"原理、设计和性能对比相关的高级主题 \nPSI协议介绍\n \nPSI协议介绍\n PSI协议介绍 PSI协议介绍 "],[132,"可以使用bazel编译PSI二进制：  然后:  "],[166,"在我们的所有实验里，各参与方均采用单线程模式运行。 如果带宽充足，那么上游就可以尝试进行多线程优化。 通过 wondershaper 限制带宽。 wondershaper 10Mbps = 10240Kbps, 100Mbps = 102400Kbps, 1000Mbps = 1024000Kbps  Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz 带宽阶段2^182^202^222^24局域网离线阶段0.012s0.012s0.012s0.014s在线阶段0.495s2.474s10.765s44.368s100Mbps离线阶段0.012s0.012s0.024s0.014s在线阶段2.694s11.048s46.983s192.37s10Mbps离线阶段0.016s0.019s0.0312s0.018s在线阶段25.434s100.68s415.94s1672.21s 带宽阶段2^182^202^222^24 带宽阶段2^182^202^222^24 带宽 带宽 阶段 阶段 2^18 2^18 2^20 2^20 2^22 2^22 2^24 2^24 局域网离线阶段0.012s0.012s0.012s0.014s在线阶段0.495s2.474s10.765s44.368s100Mbps离线阶段0.012s0.012s0.024s0.014s在线阶段2.694s11.048s46.983s192.37s10Mbps离线阶段0.016s0.019s0.0312s0.018s在线阶段25.434s100.68s415.94s1672.21s 局域网离线阶段0.012s0.012s0.012s0.014s 局域网 局域网 离线阶段 离线阶段 0.012s 0.012s 0.012s 0.012s 0.012s 0.012s 0.014s 0.014s 在线阶段0.495s2.474s10.765s44.368s 在线阶段 在线阶段 0.495s 0.495s 2.474s 2.474s 10.765s 10.765s 44.368s 44.368s 100Mbps离线阶段0.012s0.012s0.024s0.014s 100Mbps 100Mbps 离线阶段 离线阶段 0.012s 0.012s 0.012s 0.012s 0.024s 0.024s 0.014s 0.014s 在线阶段2.694s11.048s46.983s192.37s 在线阶段 在线阶段 2.694s 2.694s 11.048s 11.048s 46.983s 46.983s 192.37s 192.37s 10Mbps离线阶段0.016s0.019s0.0312s0.018s 10Mbps 10Mbps 离线阶段 离线阶段 0.016s 0.016s 0.019s 0.019s 0.0312s 0.0312s 0.018s 0.018s 在线阶段25.434s100.68s415.94s1672.21s 在线阶段 在线阶段 25.434s 25.434s 100.68s 100.68s 415.94s 415.94s 1672.21s 1672.21s "],[127,"在此我们展示按照上述方法测量得到的APSI基准测试结果。请注意，我们没有记录服务器端设置阶段所花费的时间，因为这个过程总是可以离线完成。 此外，这里仅展示了在特定数据设置下的少量性能数据。这是因为对APSI进行性能测试相当复杂；不同的数据规模和标签长度需要找到一组合适的相应参数，以实现最佳性能。因此，这里的数据设置旨在为您提供一个大致的参考。 如果您希望测量特定数据规模和标签长度下的APSI性能，您可以按照上述步骤来复现结果。最后，为了进一步优化性能，深入理解APSI算法原理是很有必要的。如果您有任何与私密信息检索（PIR）相关的进一步疑问，请随时与我们联系。 \nms 表示毫秒\n ms 表示毫秒 ms                       请注意，上述数据并不代表APSI的最优性能。在固定的数据规模条件下，APSI 的查询性能与相应的参数高度相关。此外，如果你想支持更大的数据集，比如十亿条数据条目，我们还提供了一种分桶模式。不过，这种模式需要考虑更多参数，因此在本次基准测试中未展示。 "],[131,"在第一个终端，运行以下命令：  在另一个终端，运行以下命令：  "],[162,"在第一个终端中，运行如下命令：  在另一个终端中，同时运行如下命令：  "],[159,"如果带宽受限，协议 ECDH-PSI 更具优势。如果计算资源受限，推荐你尝试基于 BaRK-OPRF 的 PSI 方案 KKRT-PSI。 ECDH-PSI KKRT-PSI PSI 协议威胁模型参与方数量PSI 类型码ECDH-PSI半诚实模型两方1ECDH-OPRF-PSI半诚实模型两方\n\nKKRT半诚实模型两方2PCG_PSI半诚实模型两方3Mini-PSI恶意模型两方\n\nDP-PSI半诚实模型两方\n\n PSI 协议威胁模型参与方数量PSI 类型码 PSI 协议威胁模型参与方数量PSI 类型码 PSI 协议 PSI 协议 威胁模型 威胁模型 参与方数量 参与方数量 PSI 类型码 PSI 类型码 ECDH-PSI半诚实模型两方1ECDH-OPRF-PSI半诚实模型两方\n\nKKRT半诚实模型两方2PCG_PSI半诚实模型两方3Mini-PSI恶意模型两方\n\nDP-PSI半诚实模型两方\n\n ECDH-PSI半诚实模型两方1 ECDH-PSI ECDH-PSI 半诚实模型 半诚实模型 两方 两方 1 1 ECDH-OPRF-PSI半诚实模型两方\n\n ECDH-OPRF-PSI ECDH-OPRF-PSI 半诚实模型 半诚实模型 两方 两方 \n\n \n\n  KKRT半诚实模型两方2 KKRT KKRT KKRT 半诚实模型 半诚实模型 两方 两方 2 2 PCG_PSI半诚实模型两方3 PCG_PSI PCG_PSI PCG_PSI 半诚实模型 半诚实模型 两方 两方 3 3 Mini-PSI恶意模型两方\n\n Mini-PSI Mini-PSI Mini-PSI 恶意模型 恶意模型 两方 两方 \n\n \n\n  DP-PSI半诚实模型两方\n\n DP-PSI DP-PSI DP-PSI 半诚实模型 半诚实模型 两方 两方 \n\n \n\n  MPC 和 PSI 协议是针对特定的安全模型（或威胁模型）而设计的。 通常认为，安全模型旨在刻画敌手的能力。半诚实模型和恶意模型下的敌手，分别被称为半诚实敌手和恶意敌手。 \n半诚实敌手\n恶意敌手\n 半诚实敌手 半诚实敌手 恶意敌手 恶意敌手 切勿在恶意环境中使用半诚实 PSI 协议，否则其可能遭受攻击并导致信息泄露。 我们实现的 ECDH-PSI 协议支持多种椭圆曲线： \nCurve25519\nSecp256k1\nFourQ\nSM2\n Curve25519 Curve25519 Secp256k1 Secp256k1 FourQ FourQ SM2 SM2 详情请查阅文档 PSI协议介绍。 PSI协议介绍 "],[55,"字段类型描述threads uint32使用的线程数log_file string日志文件路径。仅适用于 APSI。silent bool不将输出写入控制台。仅适用于 APSI。log_level string可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。query_file string包含查询数据的文本文件路径（每行一个）。不需要标题。output_file string交集结果将写入的文件路径。params_file string描述发送方使用的参数的 JSON 文件路径。如果未设置，接收方将询问发送方，这会导致额外的通信。experimental_enable_bucketize bool必须与发送方配置相同。experimental_bucket_cnt uint32必须与发送方配置相同。query_batch_size uint32每批次的查询数量。默认为 1。 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 threads uint32使用的线程数log_file string日志文件路径。仅适用于 APSI。silent bool不将输出写入控制台。仅适用于 APSI。log_level string可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。query_file string包含查询数据的文本文件路径（每行一个）。不需要标题。output_file string交集结果将写入的文件路径。params_file string描述发送方使用的参数的 JSON 文件路径。如果未设置，接收方将询问发送方，这会导致额外的通信。experimental_enable_bucketize bool必须与发送方配置相同。experimental_bucket_cnt uint32必须与发送方配置相同。query_batch_size uint32每批次的查询数量。默认为 1。 threads uint32使用的线程数 threads threads  uint32  uint32  uint32  uint32 使用的线程数 使用的线程数 log_file string日志文件路径。仅适用于 APSI。 log_file log_file  string  string  string  string 日志文件路径。仅适用于 APSI。 日志文件路径。仅适用于 APSI。 silent bool不将输出写入控制台。仅适用于 APSI。 silent silent  bool  bool  bool  bool 不将输出写入控制台。仅适用于 APSI。 不将输出写入控制台。仅适用于 APSI。 log_level string可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。 log_level log_level  string  string  string  string 可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。 可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。 query_file string包含查询数据的文本文件路径（每行一个）。不需要标题。 query_file query_file  string  string  string  string 包含查询数据的文本文件路径（每行一个）。不需要标题。 包含查询数据的文本文件路径（每行一个）。不需要标题。 output_file string交集结果将写入的文件路径。 output_file output_file  string  string  string  string 交集结果将写入的文件路径。 交集结果将写入的文件路径。 params_file string描述发送方使用的参数的 JSON 文件路径。如果未设置，接收方将询问发送方，这会导致额外的通信。 params_file params_file  string  string  string  string 描述发送方使用的参数的 JSON 文件路径。如果未设置，接收方将询问发送方，这会导致额外的通信。 描述发送方使用的参数的 JSON 文件路径。如果未设置，接收方将询问发送方，这会导致额外的通信。 experimental_enable_bucketize bool必须与发送方配置相同。 experimental_enable_bucketize experimental_enable_bucketize  bool  bool  bool  bool 必须与发送方配置相同。 必须与发送方配置相同。 experimental_bucket_cnt uint32必须与发送方配置相同。 experimental_bucket_cnt experimental_bucket_cnt  uint32  uint32  uint32  uint32 必须与发送方配置相同。 必须与发送方配置相同。 query_batch_size uint32每批次的查询数量。默认为 1。 query_batch_size query_batch_size  uint32  uint32  uint32  uint32 每批次的查询数量。默认为 1。 每批次的查询数量。默认为 1。  "],[145,"对一个大型的的 sender db 进行搜索的开销很大。所以我们可以将数据分桶。 Server 虽然知道 client 查询的是哪个桶，但是不知道具体元素： 在设置阶段，sender 会对数据进行分桶。每个桶会生成一个对应的 sender db。 在线阶段中，receiver 会将其查询分拆成子查询。每个子查询仅包含属于同一个桶的数据项。当 receivers 向 sender 发送子查询时，也会提供对应的 bucket idx。 针对每个子查询，sender 仅在特定桶对应的 sender db 中进行搜索。 假设查询的不可区分度为 \\text{ind_degree}，且 sender 有 \\text{sender_data_rows} 行数据。那么桶的数量应该为 \\text{bucket_num} = \\text{sender_data_rows} / \\text{ind_degree}。你可以设置 experimental_bucket_cnt 为 \\text{bucket_num}。如果 client有 \\text{query_rows} 行数据，那么每个桶里会有 \\text{query_rows_per_bucket} = \\text{query_rows} / \\text{bucket_num} 行数据。你就可以选择 \\text{ind_degree}-\\text{query_rows_per_bucket}-xxx.json 作为 params_file。 \\text{ind_degree} \\text{ind_degree} \\text{sender_data_rows} \\text{sender_data_rows} \\text{bucket_num} = \\text{sender_data_rows} / \\text{ind_degree} \\text{bucket_num} = \\text{sender_data_rows} / \\text{ind_degree} \\text{bucket_num} \\text{bucket_num} \\text{query_rows} \\text{query_rows} \\text{query_rows_per_bucket} = \\text{query_rows} / \\text{bucket_num} \\text{query_rows_per_bucket} = \\text{query_rows} / \\text{bucket_num} \\text{ind_degree} \\text{ind_degree} \\text{query_rows_per_bucket} \\text{query_rows_per_bucket} "],[140,"对于 Senders (Servers)，你必须提供一个作为输入的 CSV 文件或者一个 sender db 文件。输入的 CSV 文件在完成设置后会被转换成 sender db 文件。 "],[36,"您可以使用 Docker 镜像进行编译:  "],[37,"您需要安装如下依赖： \ngcc>=11.2\ncmake>=3.26\nninja\nnasm>=2.15\npython>=3.8\nbazel\ngolang\nxxd\nlld\nperl>=5.20.3.1\n gcc>=11.2 cmake>=3.26 ninja nasm>=2.15 python>=3.8 bazel golang xxd lld perl>=5.20.3.1 对于bazel，请查看 .bazeliskrc 中的版本，或者使用 bazelisk。 .bazeliskrc "],[38,"我们使用 bazel 进行构建和测试：  "],[142,"我们使用了 APSI 的原生参数。详情请查阅 APSI PSIParams 文档。 APSI PSIParams 对 senders 而言：当提供 CSV 文件时，必须同时提供一个 APSI 参数文件。如果提供的是 sender db 文件，则无需提供 APSI 参数文件，即使提供也会会被忽略。对 receivers 而言：APSI 参数文件是可选的。如果没有提供, receivers 会向 senders 请求该文件。如果选择提供该文件，请确保 receivers 和 senders 的 APSI 参数文件一致。 It's not easy to find a suitable APSI params file. So APSI provides some examples at `APSI parameters <https://github.com/microsoft/APSI/tree/main/parameters`_.\nWe have a copy at APSI parameters <blob/main/examples/pir/apsi/parameters> as well.\nYou can refer to here to choose the appropriate parameter file. `APSI parameters <https://github.com/microsoft/APSI/tree/main/parameters`_ https://github.com/microsoft/APSI/tree/main/parameters`_ APSI parameters <blob/main/examples/pir/apsi/parameters> here 要启动PIR，请在 启动配置 中查阅启动配置，以及相关具体配置: sender config 和 receiver config. 启动配置 "],[152,"我们使用配置文件来指定不同的PSI协议和输入数据。 "],[119,"我们使用配置文件来指定输入数据文件和参数文件。 "],[129,"我们在 dockerhub 提供了发行镜像， 也在阿里云提供了镜像: secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8. dockerhub secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8 "],[43,"我们基于ECDH实现了自研的三方PSI协议。请注意该实现存在已知信息泄露风险，请谨慎使用。 假设Alice、Bob和接收方Charlie进行三方PSI协议，除最终结果外，该协议会向Charlie泄露Alice与Bob数据的交集大小。    注意在ECDH-PSI协议初始阶段，我们假设Alice和Charlie的输入数据已被随机打乱（无需打乱Bob的集合）。 协议流程： \n对于集合中的第i个元素，Alice计算 H(xi)αH(x_i)^\\alphaH(xi​)α 并发送给Bob。\n对于第i个元素，Bob计算 H(xi)αβH(x_i)^{\\alpha\\beta}H(xi​)αβ 和 H(yi)βH(y_i)^\\betaH(yi​)β， 然后随机打乱顺序发送给Alice。\n对于第i个元素，Alice计算 H(yi)αβH(y_i)^{\\alpha\\beta}H(yi​)αβ 并获取交集 H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta}H(xi​)αβ∩H(yi​)αβ (记作 IαβI^{\\alpha\\beta}Iαβ)，然后将 IαβI^{\\alpha\\beta}Iαβ 发送给Charlie。\n对于第i个元素，Charlie发送 H(zi)γH(z_i)^{\\gamma}H(zi​)γ 给Bob，Bob计算并发送 H(zi)βγH(z_i)^{\\beta\\gamma}H(zi​)βγ 给Alice，最后Alice计算并发送 H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ 给Charlie。\nCharlie计算 IαβγI^{\\alpha\\beta\\gamma}Iαβγ 并与 H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ 进行比较。\n 对于集合中的第i个元素，Alice计算 H(xi)αH(x_i)^\\alphaH(xi​)α 并发送给Bob。 H(xi)αH(x_i)^\\alphaH(xi​)α H(xi)αH(x_i)^\\alphaH(xi​)α H(xi)αH(x_i)^\\alpha H(xi)αH(x_i)^\\alpha H(xi)αH(x_i)^\\alpha H(xi)α H ( xi x i )α ) α H(x_i)^\\alpha H(xi​)α H(xi​)α  H ( xi​ x i​ i​ i​ i i  i i ​    )α ) α α α α α  α α 对于第i个元素，Bob计算 H(xi)αβH(x_i)^{\\alpha\\beta}H(xi​)αβ 和 H(yi)βH(y_i)^\\betaH(yi​)β， 然后随机打乱顺序发送给Alice。 H(xi)αβH(x_i)^{\\alpha\\beta}H(xi​)αβ H(xi)αβH(x_i)^{\\alpha\\beta}H(xi​)αβ H(xi)αβH(x_i)^{\\alpha\\beta} H(xi)αβH(x_i)^{\\alpha\\beta} H(xi)αβH(x_i)^{\\alpha\\beta} H(xi)αβ H ( xi x i )αβ ) αβ α β H(x_i)^{\\alpha\\beta} H(xi​)αβ H(xi​)αβ  H ( xi​ x i​ i​ i​ i i  i i ​    )αβ ) αβ αβ αβ αβ αβ  αβ αβ α β H(yi)βH(y_i)^\\betaH(yi​)β H(yi)βH(y_i)^\\betaH(yi​)β H(yi)βH(y_i)^\\beta H(yi)βH(y_i)^\\beta H(yi)βH(y_i)^\\beta H(yi)β H ( yi y i )β ) β H(y_i)^\\beta H(yi​)β H(yi​)β  H ( yi​ y i​ i​ i​ i i  i i ​    )β ) β β β β β  β β 对于第i个元素，Alice计算 H(yi)αβH(y_i)^{\\alpha\\beta}H(yi​)αβ 并获取交集 H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta}H(xi​)αβ∩H(yi​)αβ (记作 IαβI^{\\alpha\\beta}Iαβ)，然后将 IαβI^{\\alpha\\beta}Iαβ 发送给Charlie。 H(yi)αβH(y_i)^{\\alpha\\beta}H(yi​)αβ H(yi)αβH(y_i)^{\\alpha\\beta}H(yi​)αβ H(yi)αβH(y_i)^{\\alpha\\beta} H(yi)αβH(y_i)^{\\alpha\\beta} H(yi)αβH(y_i)^{\\alpha\\beta} H(yi)αβ H ( yi y i )αβ ) αβ α β H(y_i)^{\\alpha\\beta} H(yi​)αβ H(yi​)αβ  H ( yi​ y i​ i​ i​ i i  i i ​    )αβ ) αβ αβ αβ αβ αβ  αβ αβ α β H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta}H(xi​)αβ∩H(yi​)αβ H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta}H(xi​)αβ∩H(yi​)αβ H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta} H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta} H(xi)αβ∩H(yi)αβH(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta} H(xi)αβ∩H(yi)αβ H ( xi x i )αβ ) αβ α β ∩ H ( yi y i )αβ ) αβ α β H(x_i)^{\\alpha\\beta} \\cap H(y_i)^{\\alpha\\beta} H(xi​)αβ∩H(yi​)αβ H(xi​)αβ∩  H ( xi​ x i​ i​ i​ i i  i i ​    )αβ ) αβ αβ αβ αβ αβ  αβ αβ α β  ∩  H(yi​)αβ  H ( yi​ y i​ i​ i​ i i  i i ​    )αβ ) αβ αβ αβ αβ αβ  αβ αβ α β IαβI^{\\alpha\\beta}Iαβ IαβI^{\\alpha\\beta}Iαβ IαβI^{\\alpha\\beta} IαβI^{\\alpha\\beta} IαβI^{\\alpha\\beta} Iαβ Iαβ I αβ α β I^{\\alpha\\beta} Iαβ Iαβ  Iαβ I αβ αβ αβ αβ αβ  αβ αβ α β IαβI^{\\alpha\\beta}Iαβ IαβI^{\\alpha\\beta}Iαβ IαβI^{\\alpha\\beta} IαβI^{\\alpha\\beta} IαβI^{\\alpha\\beta} Iαβ Iαβ I αβ α β I^{\\alpha\\beta} Iαβ Iαβ  Iαβ I αβ αβ αβ αβ αβ  αβ αβ α β 对于第i个元素，Charlie发送 H(zi)γH(z_i)^{\\gamma}H(zi​)γ 给Bob，Bob计算并发送 H(zi)βγH(z_i)^{\\beta\\gamma}H(zi​)βγ 给Alice，最后Alice计算并发送 H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ 给Charlie。 H(zi)γH(z_i)^{\\gamma}H(zi​)γ H(zi)γH(z_i)^{\\gamma}H(zi​)γ H(zi)γH(z_i)^{\\gamma} H(zi)γH(z_i)^{\\gamma} H(zi)γH(z_i)^{\\gamma} H(zi)γ H ( zi z i )γ ) γ H(z_i)^{\\gamma} H(zi​)γ H(zi​)γ  H ( zi​ z i​ i​ i​ i i  i i ​    )γ ) γ γ γ γ γ  γ γ γ H(zi)βγH(z_i)^{\\beta\\gamma}H(zi​)βγ H(zi)βγH(z_i)^{\\beta\\gamma}H(zi​)βγ H(zi)βγH(z_i)^{\\beta\\gamma} H(zi)βγH(z_i)^{\\beta\\gamma} H(zi)βγH(z_i)^{\\beta\\gamma} H(zi)βγ H ( zi z i )βγ ) βγ β γ H(z_i)^{\\beta\\gamma} H(zi​)βγ H(zi​)βγ  H ( zi​ z i​ i​ i​ i i  i i ​    )βγ ) βγ βγ βγ βγ βγ  βγ βγ β γ H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma} H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma} H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma} H(zi)αβγ H ( zi z i )αβγ ) αβγ α β γ H(z_i)^{\\alpha\\beta\\gamma} H(zi​)αβγ H(zi​)αβγ  H ( zi​ z i​ i​ i​ i i  i i ​    )αβγ ) αβγ αβγ αβγ αβγ αβγ  αβγ αβγ α β γ Charlie计算 IαβγI^{\\alpha\\beta\\gamma}Iαβγ 并与 H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ 进行比较。 IαβγI^{\\alpha\\beta\\gamma}Iαβγ IαβγI^{\\alpha\\beta\\gamma}Iαβγ IαβγI^{\\alpha\\beta\\gamma} IαβγI^{\\alpha\\beta\\gamma} IαβγI^{\\alpha\\beta\\gamma} Iαβγ Iαβγ I αβγ α β γ I^{\\alpha\\beta\\gamma} Iαβγ Iαβγ  Iαβγ I αβγ αβγ αβγ αβγ αβγ  αβγ αβγ α β γ H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma}H(zi​)αβγ H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma} H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma} H(zi)αβγH(z_i)^{\\alpha\\beta\\gamma} H(zi)αβγ H ( zi z i )αβγ ) αβγ α β γ H(z_i)^{\\alpha\\beta\\gamma} H(zi​)αβγ H(zi​)αβγ  H ( zi​ z i​ i​ i​ i i  i i ​    )αβγ ) αβγ αβγ αβγ αβγ αβγ  αβγ αβγ α β γ "],[139,"我们对 APSI 库提供了一个简单的封装。请仔细阅读 APSI 仓库的 README 。我们这里不再重复描述 APSI 文档中描述的内容。 APSI README 配置细节可以参考 PIR 配置。我们和 APSI 的命令行参数基本保持一致，所以你可以阅读 APSI CLI arguments 来作为参考。 PIR 配置 APSI CLI arguments 新增功能如下： \n使用 Yacl Link 作为通信层。\n试验性的分桶 PIR。\n提供了用来进一步集成的 API。\n 使用 Yacl Link 作为通信层。 试验性的分桶 PIR。 提供了用来进一步集成的 API。 如果你想要尝试一个类似 APSI 的 CLI，可以通过如下方式编译源代码：  然后通过如下方式获取命令行参数：  "],[146,"我们将收集用户的一些常见问题，并及时更新此部分内容。 "],[45,"我们还实现了差分隐私(DP)的隐私集合求交(PSI)协议。我们的实现基于ECDH-PSI，并提供以下功能： \n差分隐私的PSI结果。\n 差分隐私的PSI结果。 此功能目前处于测试阶段，使用时请自行承担风险！ 为什么要使用差分隐私的PSI结果？如果我们想要一个既能保护输入隐私又能保护输出隐私的方案，理想的方式是使用 电路PSI ，这是一种典型的PSI变体，允许对PSI结果进行安全计算(如MPC或HE)而不泄露结果。PSTY19 然而这些协议在效率方面代价较高。 电路PSI PSTY19 DP-PSI是一种利用上采样和下采样机制向PSI结果添加校准噪声的方法，而不泄露其精确值。 协议流程如下，假设Alice有一个(经过哈希和洗牌的)集合 XXX，Bob有一个(经过哈希和洗牌的)集合 YYY。 XXX XXX XX XX XX X X X X X  X YYY YYY YY YY YY Y Y Y Y Y  Y    注意，我们使用\"加密\"来表示计算 y←xay\\gets x^ay←xa 的过程。 y←xay\\gets x^ay←xa y←xay\\gets x^ay←xa y←xay\\gets x^a y←xay\\gets x^a y←xay\\gets x^a y←xa y ← xa x a y\\gets x^a y←xa y←  y  ←  xa  xa x a a a a a  a a 协议流程： \nAlice和Bob首先分别加密自己的数据集，分别得到 XaX^aXa 和 YbY^bYb 。\nAlice将 XaX^aXa 发送给Bob。\nBob对 YbY^bYb 进行随机下采样，得到 Y∗bY_*^bY∗b​ 并发送给Alice。与此同时，在收到Alice的 XaX^aXa 后，Bob使用 bbb 重新加密得到 XabX^{ab}Xab 。接着，Bob生成一个随机置换 π\\piπ 来排列Alice的集合，并将排列后的 π(Xab)\\pi(X^{ab})π(Xab) 返回给Alice。\n在收到Bob发送的 Y∗bY_*^bY∗b​ 和 π(Xab)\\pi(X^{ab})π(Xab) 后，Alice重新加密 Y∗bY_*^bY∗b​ 得到 Y∗abY_*^{ab}Y∗ab​ ，然后计算两者的交集 I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab}I∗ab​←π(Xab)∩Y∗ab​ 。\nAlice对交集进行随机下采样，得到 I∗∗abI_{**}^{ab}I∗∗ab​ ，然后找到它们在 Y∗bY_*^bY∗b​ 中的对应索引。接着随机添加非交集的索引到该集合中。\nAlice将索引集合发送给Bob，随后Bob揭示最终结果。\n Alice和Bob首先分别加密自己的数据集，分别得到 XaX^aXa 和 YbY^bYb 。 XaX^aXa XaX^aXa XaX^a XaX^a XaX^a Xa Xa X a X^a Xa Xa  Xa X a a a a a  a a YbY^bYb YbY^bYb YbY^b YbY^b YbY^b Yb Yb Y b Y^b Yb Yb  Yb Y b b b b b  b b Alice将 XaX^aXa 发送给Bob。 XaX^aXa XaX^aXa XaX^a XaX^a XaX^a Xa Xa X a X^a Xa Xa  Xa X a a a a a  a a Bob对 YbY^bYb 进行随机下采样，得到 Y∗bY_*^bY∗b​ 并发送给Alice。与此同时，在收到Alice的 XaX^aXa 后，Bob使用 bbb 重新加密得到 XabX^{ab}Xab 。接着，Bob生成一个随机置换 π\\piπ 来排列Alice的集合，并将排列后的 π(Xab)\\pi(X^{ab})π(Xab) 返回给Alice。 YbY^bYb YbY^bYb YbY^b YbY^b YbY^b Yb Yb Y b Y^b Yb Yb  Yb Y b b b b b  b b Y∗bY_*^bY∗b​ Y∗bY_*^bY∗b​ Y∗bY_*^b Y∗bY_*^b Y∗bY_*^b Y∗b Y∗b Y ∗ b Y_*^b Y∗b​ Y∗b​  Y∗b​ Y ∗b​ ∗b​ ∗b​ ∗b ∗  ∗ ∗ b  b b ​    XaX^aXa XaX^aXa XaX^a XaX^a XaX^a Xa Xa X a X^a Xa Xa  Xa X a a a a a  a a bbb bbb bb bb bb b b b b b  b XabX^{ab}Xab XabX^{ab}Xab XabX^{ab} XabX^{ab} XabX^{ab} Xab Xab X ab a b X^{ab} Xab Xab  Xab X ab ab ab ab ab  ab ab ab π\\piπ π\\piπ π\\pi π\\pi π\\pi π π \\pi π π  π π(Xab)\\pi(X^{ab})π(Xab) π(Xab)\\pi(X^{ab})π(Xab) π(Xab)\\pi(X^{ab}) π(Xab)\\pi(X^{ab}) π(Xab)\\pi(X^{ab}) π(Xab) π ( Xab X ab a b ) \\pi(X^{ab}) π(Xab) π(Xab)  π ( Xab X ab ab ab ab ab  ab ab ab ) 在收到Bob发送的 Y∗bY_*^bY∗b​ 和 π(Xab)\\pi(X^{ab})π(Xab) 后，Alice重新加密 Y∗bY_*^bY∗b​ 得到 Y∗abY_*^{ab}Y∗ab​ ，然后计算两者的交集 I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab}I∗ab​←π(Xab)∩Y∗ab​ 。 Y∗bY_*^bY∗b​ Y∗bY_*^bY∗b​ Y∗bY_*^b Y∗bY_*^b Y∗bY_*^b Y∗b Y∗b Y ∗ b Y_*^b Y∗b​ Y∗b​  Y∗b​ Y ∗b​ ∗b​ ∗b​ ∗b ∗  ∗ ∗ b  b b ​    π(Xab)\\pi(X^{ab})π(Xab) π(Xab)\\pi(X^{ab})π(Xab) π(Xab)\\pi(X^{ab}) π(Xab)\\pi(X^{ab}) π(Xab)\\pi(X^{ab}) π(Xab) π ( Xab X ab a b ) \\pi(X^{ab}) π(Xab) π(Xab)  π ( Xab X ab ab ab ab ab  ab ab ab ) Y∗bY_*^bY∗b​ Y∗bY_*^bY∗b​ Y∗bY_*^b Y∗bY_*^b Y∗bY_*^b Y∗b Y∗b Y ∗ b Y_*^b Y∗b​ Y∗b​  Y∗b​ Y ∗b​ ∗b​ ∗b​ ∗b ∗  ∗ ∗ b  b b ​    Y∗abY_*^{ab}Y∗ab​ Y∗abY_*^{ab}Y∗ab​ Y∗abY_*^{ab} Y∗abY_*^{ab} Y∗abY_*^{ab} Y∗ab Y∗ab Y ∗ ab a b Y_*^{ab} Y∗ab​ Y∗ab​  Y∗ab​ Y ∗ab​ ∗ab​ ∗ab​ ∗ab ∗  ∗ ∗ ab  ab ab ab ​    I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab}I∗ab​←π(Xab)∩Y∗ab​ I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab}I∗ab​←π(Xab)∩Y∗ab​ I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab} I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab} I∗ab←π(Xab)∩Y∗abI_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab} I∗ab←π(Xab)∩Y∗ab I∗ab I ∗ ab a b ← π ( Xab X ab a b ) ∩ Y∗ab Y ∗ ab a b I_*^{ab} \\gets \\pi(X^{ab}) \\cap Y_*^{ab} I∗ab​←π(Xab)∩Y∗ab​ I∗ab​←  I∗ab​ I ∗ab​ ∗ab​ ∗ab​ ∗ab ∗  ∗ ∗ ab  ab ab ab ​     ←  π(Xab)∩  π ( Xab X ab ab ab ab ab  ab ab ab )  ∩  Y∗ab​  Y∗ab​ Y ∗ab​ ∗ab​ ∗ab​ ∗ab ∗  ∗ ∗ ab  ab ab ab ​    Alice对交集进行随机下采样，得到 I∗∗abI_{**}^{ab}I∗∗ab​ ，然后找到它们在 Y∗bY_*^bY∗b​ 中的对应索引。接着随机添加非交集的索引到该集合中。 I∗∗abI_{**}^{ab}I∗∗ab​ I∗∗abI_{**}^{ab}I∗∗ab​ I∗∗abI_{**}^{ab} I∗∗abI_{**}^{ab} I∗∗abI_{**}^{ab} I∗∗ab I∗∗ab I ∗∗ ∗ ∗ ab a b I_{**}^{ab} I∗∗ab​ I∗∗ab​  I∗∗ab​ I ∗∗ab​ ∗∗ab​ ∗∗ab​ ∗∗ab ∗∗  ∗∗ ∗∗ ∗∗ ab  ab ab ab ​    Y∗bY_*^bY∗b​ Y∗bY_*^bY∗b​ Y∗bY_*^b Y∗bY_*^b Y∗bY_*^b Y∗b Y∗b Y ∗ b Y_*^b Y∗b​ Y∗b​  Y∗b​ Y ∗b​ ∗b​ ∗b​ ∗b ∗  ∗ ∗ b  b b ​    Alice将索引集合发送给Bob，随后Bob揭示最终结果。 最终，该方案确保接收方(Bob)只能获知带有噪声的交集结果，而无法确定某个元素是否真正属于实际交集。 请注意，多次调用DP-PSI协议不可避免地会削弱隐私保护强度，因此我们强烈建议用户实现保护机制，防止对相同输入值进行多次DP-PSI计算。 Intel(R) Xeon(R) Platinum处理器2^202^212^222^232^24DP-PSI协议9.806秒20.134秒42.067秒86.580秒170.359秒 Intel(R) Xeon(R) Platinum处理器2^202^212^222^232^24 Intel(R) Xeon(R) Platinum处理器2^202^212^222^232^24 Intel(R) Xeon(R) Platinum处理器 Intel(R) Xeon(R) Platinum处理器 2^20 2^20 2^21 2^21 2^22 2^22 2^23 2^23 2^24 2^24 DP-PSI协议9.806秒20.134秒42.067秒86.580秒170.359秒 DP-PSI协议9.806秒20.134秒42.067秒86.580秒170.359秒 DP-PSI协议 DP-PSI协议 9.806秒 9.806秒 20.134秒 20.134秒 42.067秒 42.067秒 86.580秒 86.580秒 170.359秒 170.359秒 对于差分隐私，默认的隐私保护强度为 ϵ=3\\epsilon=3ϵ=3 。如需更多详情，请参阅原论文: [DP-PSI] ϵ=3\\epsilon=3ϵ=3 ϵ=3\\epsilon=3ϵ=3 ϵ=3\\epsilon=3 ϵ=3\\epsilon=3 ϵ=3\\epsilon=3 ϵ=3 ϵ = 3 \\epsilon=3 ϵ=3 ϵ=  ϵ  =  3  3 [DP-PSI] "],[69,"所有与 PSI 协议相关的内容 数据域类型描述protocol Protocol无role Role无broadcast_result bool指定是否将结果发送给 senderecdh_config EcdhConfigECDH 协议的配置kkrt_config KkrtConfigKKRT 协议的配置rr22_config Rr22ConfigRR22 协议的配置 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 protocol Protocol无role Role无broadcast_result bool指定是否将结果发送给 senderecdh_config EcdhConfigECDH 协议的配置kkrt_config KkrtConfigKKRT 协议的配置rr22_config Rr22ConfigRR22 协议的配置 protocol Protocol无 protocol protocol  Protocol  Protocol  Protocol 无 无 role Role无 role role  Role  Role  Role 无 无 broadcast_result bool指定是否将结果发送给 sender broadcast_result broadcast_result  bool  bool  bool  bool 指定是否将结果发送给 sender 指定是否将结果发送给 sender ecdh_config EcdhConfigECDH 协议的配置 ecdh_config ecdh_config  EcdhConfig  EcdhConfig  EcdhConfig ECDH 协议的配置 ECDH 协议的配置 kkrt_config KkrtConfigKKRT 协议的配置 kkrt_config kkrt_config  KkrtConfig  KkrtConfig  KkrtConfig KKRT 协议的配置 KKRT 协议的配置 rr22_config Rr22ConfigRR22 协议的配置 rr22_config rr22_config  Rr22Config  Rr22Config  Rr22Config RR22 协议的配置 RR22 协议的配置  "],[115,"推荐使用PSI v2配置. PIR的实现我们正在开发。 \nPSI v1 快速入门（已废弃）\nPSI v2 快速入门\nPIR 快速入门\n常见问题（FAQ）\nPSI V2 基准测试\nAPSI 基准测试\n \nPSI v1 快速入门（已废弃）\nPSI v2 快速入门\nPIR 快速入门\n常见问题（FAQ）\nPSI V2 基准测试\nAPSI 基准测试\n PSI v1 快速入门（已废弃） PSI v1 快速入门（已废弃） PSI v2 快速入门 PSI v2 快速入门 PIR 快速入门 PIR 快速入门 常见问题（FAQ） 常见问题（FAQ） PSI V2 基准测试 PSI V2 基准测试 APSI 基准测试 APSI 基准测试 "],[164,"数据加载时间不计入基准测试结果 "],[68,"数据域类型描述csv_null_rep stringCSV 输出文件中空值的表示。如果未指定，默认值为 “NULL”。 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 csv_null_rep stringCSV 输出文件中空值的表示。如果未指定，默认值为 “NULL”。 csv_null_rep stringCSV 输出文件中空值的表示。如果未指定，默认值为 “NULL”。 csv_null_rep csv_null_rep  string  string  string  string CSV 输出文件中空值的表示。如果未指定，默认值为 “NULL”。 CSV 输出文件中空值的表示。如果未指定，默认值为 “NULL”。  "],[65,"数据域类型描述keys_unique bool指定输入文件中的键（key）是否唯一，如果未指定，则默认为 false 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 keys_unique bool指定输入文件中的键（key）是否唯一，如果未指定，则默认为 false keys_unique bool指定输入文件中的键（key）是否唯一，如果未指定，则默认为 false keys_unique keys_unique  bool  bool  bool  bool 指定输入文件中的键（key）是否唯一，如果未指定，则默认为 false 指定输入文件中的键（key）是否唯一，如果未指定，则默认为 false  "],[116,"本文档介绍APSI协议的基准测试 "],[149,"本文档将介绍 PSI V2 基准测试。它使用的是 PSI V2  版本的接口。 "],[22,"欢迎使用 SecretFlow PSI 库。本库支持多种 PSI/PIR 的使用方式。 \nC++ 二进制文件：您可以自行编译，或直接使用官方发布的 Docker 镜像。\nPython 包\n\n\nSPU 封装了该库的 Python 接口，您可以通过 SPU 调用 PSI/PIR。\nSecretFlow 在 SPU 基础上进一步封装，提供了更易用的 API。\n\n\n\n相关应用\n\n\nSCQL 集成了此库以实现 JOIN 操作。\nSecretPad 提供 PSI 组件。\n\n\n\n C++ 二进制文件：您可以自行编译，或直接使用官方发布的 Docker 镜像。 Docker 镜像 Python 包\n\n\nSPU 封装了该库的 Python 接口，您可以通过 SPU 调用 PSI/PIR。\nSecretFlow 在 SPU 基础上进一步封装，提供了更易用的 API。\n\n\n \n\nSPU 封装了该库的 Python 接口，您可以通过 SPU 调用 PSI/PIR。\nSecretFlow 在 SPU 基础上进一步封装，提供了更易用的 API。\n\n \nSPU 封装了该库的 Python 接口，您可以通过 SPU 调用 PSI/PIR。\nSecretFlow 在 SPU 基础上进一步封装，提供了更易用的 API。\n SPU 封装了该库的 Python 接口，您可以通过 SPU 调用 PSI/PIR。 SPU SecretFlow 在 SPU 基础上进一步封装，提供了更易用的 API。 SecretFlow 相关应用\n\n\nSCQL 集成了此库以实现 JOIN 操作。\nSecretPad 提供 PSI 组件。\n\n\n \n\nSCQL 集成了此库以实现 JOIN 操作。\nSecretPad 提供 PSI 组件。\n\n \nSCQL 集成了此库以实现 JOIN 操作。\nSecretPad 提供 PSI 组件。\n SCQL 集成了此库以实现 JOIN 操作。 SCQL SecretPad 提供 PSI 组件。 SecretPad 关于 PSI，目前我们正在开发 v2 版本的 PSI， 并推荐您使用此版本。 PSI PSI v1 APIs(不推荐使用)PSI v2 APIs支持的协议ECDH, KKRT, ECDH_OPRF_UB, DP_PSI, RR22CDH, KKRT, RR22, ECDH_OPRF_UBCSV 解析器支持部分 CSV 文件基于 Apache Arrow，支持所有合法 CSV 文件故障恢复能力暂不支持支持支持重复键暂不支持支持已发布的 Docker 镜像暂未提供已提供支持 Python 绑定通过 SPU 实现通过 SPU 实现 PSI v1 APIs(不推荐使用)PSI v2 APIs PSI v1 APIs(不推荐使用)PSI v2 APIs  PSI v1 APIs(不推荐使用) PSI v1 APIs(不推荐使用) PSI v2 APIs PSI v2 APIs 支持的协议ECDH, KKRT, ECDH_OPRF_UB, DP_PSI, RR22CDH, KKRT, RR22, ECDH_OPRF_UBCSV 解析器支持部分 CSV 文件基于 Apache Arrow，支持所有合法 CSV 文件故障恢复能力暂不支持支持支持重复键暂不支持支持已发布的 Docker 镜像暂未提供已提供支持 Python 绑定通过 SPU 实现通过 SPU 实现 支持的协议ECDH, KKRT, ECDH_OPRF_UB, DP_PSI, RR22CDH, KKRT, RR22, ECDH_OPRF_UB 支持的协议 支持的协议 ECDH, KKRT, ECDH_OPRF_UB, DP_PSI, RR22 ECDH, KKRT, ECDH_OPRF_UB, DP_PSI, RR22 CDH, KKRT, RR22, ECDH_OPRF_UB CDH, KKRT, RR22, ECDH_OPRF_UB CSV 解析器支持部分 CSV 文件基于 Apache Arrow，支持所有合法 CSV 文件 CSV 解析器 CSV 解析器 支持部分 CSV 文件 支持部分 CSV 文件 基于 Apache Arrow，支持所有合法 CSV 文件 基于 Apache Arrow，支持所有合法 CSV 文件 故障恢复能力暂不支持支持 故障恢复能力 故障恢复能力 暂不支持 暂不支持 支持 支持 支持重复键暂不支持支持 支持重复键 支持重复键 暂不支持 暂不支持 支持 支持 已发布的 Docker 镜像暂未提供已提供 已发布的 Docker 镜像 已发布的 Docker 镜像 暂未提供 暂未提供 已提供 已提供 支持 Python 绑定通过 SPU 实现通过 SPU 实现 支持 Python 绑定 支持 Python 绑定 通过 SPU 实现 通过 SPU 实现 通过 SPU 实现 通过 SPU 实现 "],[78,"每一方的角色。 NameNumber描述ROLE_UNSPECIFIED0无ROLE_RECEIVER12 方对称 PSI 中的 receiver，在原始协议中，receiver 始终接收结果。ROLE_SENDER22 方对称 PSI 中的 sender，sender 是除 receiver 外的另一方。ROLE_SERVER32 方非平衡 PSI 中的 server，server 持有的数据集大得多。ROLE_CLIENT4server In 2P unbalanced PSI, clients own a much smaller dataset. NameNumber描述 NameNumber描述 Name Name Number Number 描述 描述 ROLE_UNSPECIFIED0无ROLE_RECEIVER12 方对称 PSI 中的 receiver，在原始协议中，receiver 始终接收结果。ROLE_SENDER22 方对称 PSI 中的 sender，sender 是除 receiver 外的另一方。ROLE_SERVER32 方非平衡 PSI 中的 server，server 持有的数据集大得多。ROLE_CLIENT4server In 2P unbalanced PSI, clients own a much smaller dataset. ROLE_UNSPECIFIED0无 ROLE_UNSPECIFIED ROLE_UNSPECIFIED 0 0 无 无 ROLE_RECEIVER12 方对称 PSI 中的 receiver，在原始协议中，receiver 始终接收结果。 ROLE_RECEIVER ROLE_RECEIVER 1 1 2 方对称 PSI 中的 receiver，在原始协议中，receiver 始终接收结果。 2 方对称 PSI 中的 receiver，在原始协议中，receiver 始终接收结果。 ROLE_SENDER22 方对称 PSI 中的 sender，sender 是除 receiver 外的另一方。 ROLE_SENDER ROLE_SENDER 2 2 2 方对称 PSI 中的 sender，sender 是除 receiver 外的另一方。 2 方对称 PSI 中的 sender，sender 是除 receiver 外的另一方。 ROLE_SERVER32 方非平衡 PSI 中的 server，server 持有的数据集大得多。 ROLE_SERVER ROLE_SERVER 3 3 2 方非平衡 PSI 中的 server，server 持有的数据集大得多。 2 方非平衡 PSI 中的 server，server 持有的数据集大得多。 ROLE_CLIENT4server In 2P unbalanced PSI, clients own a much smaller dataset. ROLE_CLIENT ROLE_CLIENT 4 4 server In 2P unbalanced PSI, clients own a much smaller dataset. server In 2P unbalanced PSI, clients own a much smaller dataset. "],[56,"注意（junfeng）：我们提供了一个与原始 APSI CLI 相同的配置。详情请查看 https://github.com/microsoft/APSI?tab=readme-ov-file#command-line-interface-cli。 https://github.com/microsoft/APSI?tab=readme-ov-file#command-line-interface-cli。 字段类型描述threads uint32使用的线程数log_file string日志文件路径。仅适用于 APSI。silent bool不将输出写入控制台。仅适用于 APSI。log_level string可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。db_file string描述发送方数据集的 CSV 文件路径（每行一个项目-标签对）或包含序列化 SenderDB 的文件；CLI 将首先尝试将数据加载为序列化的 SenderDB，如果失败，则尝试将其作为 CSV 文件读取。对于 CSV 文件：1. 第一列作为项目处理，第二列作为标签。其他列将被忽略。2. 不允许有标题。params_file string描述发送方使用的参数的 JSON 文件路径。如果 db_file 指向序列化的 SenderDB，则不需要。sdb_out_file string将 SenderDB 保存在给定文件中。如果 gen_db_only 设置为 true，则必须提供。如果启用了 experimental_enable_bucketize，请改用 experimental_bucket_folder。nonce_byte_count uint32在标签模式下用于随机数的字节数（默认为 16）compress bool是否在内存中压缩 SenderDB；这将减少内存占用，但会增加计算成本。save_db_only bool是否仅保存发送方数据库。experimental_enable_bucketize bool[实验性] 是否将数据分桶，每个桶将是一个独立的 SenderDB。如果设置，experimental_bucket_folder 必须是一个有效的文件夹。experimental_bucket_cnt uint32[实验性] 适合数据的分桶数量。experimental_bucket_folder string[实验性] 保存分桶后的小型 CSV 文件和数据库文件的文件夹。experimental_db_generating_process_num int32[实验性] 用于生成数据库的进程数。source_file string用于生成发送方数据库的源文件。目前仅支持 CSV 文件。experimental_bucket_group_cnt int32[实验性] 分桶组的数量，每组有一个 db_file，默认为 1024。 字段类型描述 字段类型描述 字段 字段 类型 类型 描述 描述 threads uint32使用的线程数log_file string日志文件路径。仅适用于 APSI。silent bool不将输出写入控制台。仅适用于 APSI。log_level string可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。db_file string描述发送方数据集的 CSV 文件路径（每行一个项目-标签对）或包含序列化 SenderDB 的文件；CLI 将首先尝试将数据加载为序列化的 SenderDB，如果失败，则尝试将其作为 CSV 文件读取。对于 CSV 文件：1. 第一列作为项目处理，第二列作为标签。其他列将被忽略。2. 不允许有标题。params_file string描述发送方使用的参数的 JSON 文件路径。如果 db_file 指向序列化的 SenderDB，则不需要。sdb_out_file string将 SenderDB 保存在给定文件中。如果 gen_db_only 设置为 true，则必须提供。如果启用了 experimental_enable_bucketize，请改用 experimental_bucket_folder。nonce_byte_count uint32在标签模式下用于随机数的字节数（默认为 16）compress bool是否在内存中压缩 SenderDB；这将减少内存占用，但会增加计算成本。save_db_only bool是否仅保存发送方数据库。experimental_enable_bucketize bool[实验性] 是否将数据分桶，每个桶将是一个独立的 SenderDB。如果设置，experimental_bucket_folder 必须是一个有效的文件夹。experimental_bucket_cnt uint32[实验性] 适合数据的分桶数量。experimental_bucket_folder string[实验性] 保存分桶后的小型 CSV 文件和数据库文件的文件夹。experimental_db_generating_process_num int32[实验性] 用于生成数据库的进程数。source_file string用于生成发送方数据库的源文件。目前仅支持 CSV 文件。experimental_bucket_group_cnt int32[实验性] 分桶组的数量，每组有一个 db_file，默认为 1024。 threads uint32使用的线程数 threads threads  uint32  uint32  uint32  uint32 使用的线程数 使用的线程数 log_file string日志文件路径。仅适用于 APSI。 log_file log_file  string  string  string  string 日志文件路径。仅适用于 APSI。 日志文件路径。仅适用于 APSI。 silent bool不将输出写入控制台。仅适用于 APSI。 silent silent  bool  bool  bool  bool 不将输出写入控制台。仅适用于 APSI。 不将输出写入控制台。仅适用于 APSI。 log_level string可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。 log_level log_level  string  string  string  string 可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。 可选值为 ‘all’, ‘debug’, ‘info’（默认）, ‘warning’, ‘error’, ‘off’。仅适用于 APSI。 db_file string描述发送方数据集的 CSV 文件路径（每行一个项目-标签对）或包含序列化 SenderDB 的文件；CLI 将首先尝试将数据加载为序列化的 SenderDB，如果失败，则尝试将其作为 CSV 文件读取。对于 CSV 文件：1. 第一列作为项目处理，第二列作为标签。其他列将被忽略。2. 不允许有标题。 db_file db_file  string  string  string  string 描述发送方数据集的 CSV 文件路径（每行一个项目-标签对）或包含序列化 SenderDB 的文件；CLI 将首先尝试将数据加载为序列化的 SenderDB，如果失败，则尝试将其作为 CSV 文件读取。对于 CSV 文件：1. 第一列作为项目处理，第二列作为标签。其他列将被忽略。2. 不允许有标题。 描述发送方数据集的 CSV 文件路径（每行一个项目-标签对）或包含序列化 SenderDB 的文件；CLI 将首先尝试将数据加载为序列化的 SenderDB，如果失败，则尝试将其作为 CSV 文件读取。对于 CSV 文件：1. 第一列作为项目处理，第二列作为标签。其他列将被忽略。2. 不允许有标题。 params_file string描述发送方使用的参数的 JSON 文件路径。如果 db_file 指向序列化的 SenderDB，则不需要。 params_file params_file  string  string  string  string 描述发送方使用的参数的 JSON 文件路径。如果 db_file 指向序列化的 SenderDB，则不需要。 描述发送方使用的参数的 JSON 文件路径。如果 db_file 指向序列化的 SenderDB，则不需要。 sdb_out_file string将 SenderDB 保存在给定文件中。如果 gen_db_only 设置为 true，则必须提供。如果启用了 experimental_enable_bucketize，请改用 experimental_bucket_folder。 sdb_out_file sdb_out_file  string  string  string  string 将 SenderDB 保存在给定文件中。如果 gen_db_only 设置为 true，则必须提供。如果启用了 experimental_enable_bucketize，请改用 experimental_bucket_folder。 将 SenderDB 保存在给定文件中。如果 gen_db_only 设置为 true，则必须提供。如果启用了 experimental_enable_bucketize，请改用 experimental_bucket_folder。 nonce_byte_count uint32在标签模式下用于随机数的字节数（默认为 16） nonce_byte_count nonce_byte_count  uint32  uint32  uint32  uint32 在标签模式下用于随机数的字节数（默认为 16） 在标签模式下用于随机数的字节数（默认为 16） compress bool是否在内存中压缩 SenderDB；这将减少内存占用，但会增加计算成本。 compress compress  bool  bool  bool  bool 是否在内存中压缩 SenderDB；这将减少内存占用，但会增加计算成本。 是否在内存中压缩 SenderDB；这将减少内存占用，但会增加计算成本。 save_db_only bool是否仅保存发送方数据库。 save_db_only save_db_only  bool  bool  bool  bool 是否仅保存发送方数据库。 是否仅保存发送方数据库。 experimental_enable_bucketize bool[实验性] 是否将数据分桶，每个桶将是一个独立的 SenderDB。如果设置，experimental_bucket_folder 必须是一个有效的文件夹。 experimental_enable_bucketize experimental_enable_bucketize  bool  bool  bool  bool [实验性] 是否将数据分桶，每个桶将是一个独立的 SenderDB。如果设置，experimental_bucket_folder 必须是一个有效的文件夹。 [实验性] 是否将数据分桶，每个桶将是一个独立的 SenderDB。如果设置，experimental_bucket_folder 必须是一个有效的文件夹。 experimental_bucket_cnt uint32[实验性] 适合数据的分桶数量。 experimental_bucket_cnt experimental_bucket_cnt  uint32  uint32  uint32  uint32 [实验性] 适合数据的分桶数量。 [实验性] 适合数据的分桶数量。 experimental_bucket_folder string[实验性] 保存分桶后的小型 CSV 文件和数据库文件的文件夹。 experimental_bucket_folder experimental_bucket_folder  string  string  string  string [实验性] 保存分桶后的小型 CSV 文件和数据库文件的文件夹。 [实验性] 保存分桶后的小型 CSV 文件和数据库文件的文件夹。 experimental_db_generating_process_num int32[实验性] 用于生成数据库的进程数。 experimental_db_generating_process_num experimental_db_generating_process_num  int32  int32  int32  int32 [实验性] 用于生成数据库的进程数。 [实验性] 用于生成数据库的进程数。 source_file string用于生成发送方数据库的源文件。目前仅支持 CSV 文件。 source_file source_file  string  string  string  string 用于生成发送方数据库的源文件。目前仅支持 CSV 文件。 用于生成发送方数据库的源文件。目前仅支持 CSV 文件。 experimental_bucket_group_cnt int32[实验性] 分桶组的数量，每组有一个 db_file，默认为 1024。 experimental_bucket_group_cnt experimental_bucket_group_cnt  int32  int32  int32  int32 [实验性] 分桶组的数量，每组有一个 db_file，默认为 1024。 [实验性] 分桶组的数量，每组有一个 db_file，默认为 1024。  "],[130,"细节请参考：这里 。 要启动PSI，可以查看 启动配置 。 启动配置 receiver.config receiver.config receiver.config  sender.config sender.config sender.config  需要准备以下文件： 文件名称文件位置描述receiver.config/tmp/receiver/receiver.config接收方配置。sender.config/tmp/sender/sender.config发送方配置。receiver_input.csv/tmp/receiver/receiver_input.config接收方输入，请确保文件有id0列和id1列。sender_input.csv/tmp/sender/sender_input.config发出方输入，请确保文件有id0列和id1列。 文件名称文件位置描述 文件名称文件位置描述 文件名称 文件名称 文件位置 文件位置 描述 描述 receiver.config/tmp/receiver/receiver.config接收方配置。sender.config/tmp/sender/sender.config发送方配置。receiver_input.csv/tmp/receiver/receiver_input.config接收方输入，请确保文件有id0列和id1列。sender_input.csv/tmp/sender/sender_input.config发出方输入，请确保文件有id0列和id1列。 receiver.config/tmp/receiver/receiver.config接收方配置。 receiver.config receiver.config /tmp/receiver/receiver.config /tmp/receiver/receiver.config 接收方配置。 接收方配置。 sender.config/tmp/sender/sender.config发送方配置。 sender.config sender.config /tmp/sender/sender.config /tmp/sender/sender.config 发送方配置。 发送方配置。 receiver_input.csv/tmp/receiver/receiver_input.config接收方输入，请确保文件有id0列和id1列。 receiver_input.csv receiver_input.csv /tmp/receiver/receiver_input.config /tmp/receiver/receiver_input.config 接收方输入，请确保文件有id0列和id1列。 接收方输入，请确保文件有id0列和id1列。 sender_input.csv/tmp/sender/sender_input.config发出方输入，请确保文件有id0列和id1列。 sender_input.csv sender_input.csv /tmp/sender/sender_input.config /tmp/sender/sender_input.config 发出方输入，请确保文件有id0列和id1列。 发出方输入，请确保文件有id0列和id1列。 "],[134,"要启动非平衡PSI，请参考 启动配置 和 这里. 启动配置 请参考 示例. 示例 配置示例： \n\n服务器端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json\n\n\n\n客户端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json\n\n\n \n服务器端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json\n\n 服务器端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json\n 服务器端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json\n 服务器端 服务器端 服务器端 \nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json\n \nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json\n https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_offline.json https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_server_online.json \n客户端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json\n\n 客户端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json\n 客户端\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json\n 客户端 客户端 客户端 \nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json\n \nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json\nhttps://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json\n https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_offline.json https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json https://github.com/secretflow/psi/tree/main/examples/psi/config/ecdh_client_online.json "],[167,"警告：KKRT16 协议是一种半诚实模型下的 PSI 协议，在恶意模型下可能会受到攻击。我们建议将 KKRT16 PSI 协议用作单向 PSI，即只有一方能获得最终的交集结果。 "],[1,"该仓包含SecretFlow项目中隐私求交（PSI）和隐匿查询（PIR）相关的代码, SecretFlow , SCQL  和 SecretPad 的PSI功能都是通过本仓实现的。 SecretFlow SCQL SecretPad 本仓之前是 secretflow/spu 的一部分。 secretflow/spu  "],[31,"请参考 SCQL 快速入门教程。 SCQL 快速入门教程 PSI 相关算子参考：\nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#in\nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#join\n PSI 相关算子参考：\nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#in\nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#join\n PSI 相关算子参考： PSI 相关算子参考： PSI 相关算子参考： \nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#in\nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#join\n \nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#in\nhttps://www.secretflow.org.cn/en/docs/scql/main/reference/operators#join\n https://www.secretflow.org.cn/en/docs/scql/main/reference/operators#in https://www.secretflow.org.cn/en/docs/scql/main/reference/operators#in https://www.secretflow.org.cn/en/docs/scql/main/reference/operators#join https://www.secretflow.org.cn/en/docs/scql/main/reference/operators#join "],[29,"请参考 SecretFlow 安装说明。 SecretFlow 安装说明 API 文档： \n\nPSI v1:\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv\n\n\n\nPSI v2:\nhttps://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2\n\n\n\nPIR:\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query\nPIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config\n\n\n\n组件列表：https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/component/comp_list#psi\n\n \nPSI v1:\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv\n\n PSI v1:\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv\n PSI v1:\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv\n PSI v1: PSI v1: PSI v1: \n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv\n \n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df\n(不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv\n (不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_df (不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_csv (不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_df (不推荐使用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_join_csv \nPSI v2:\nhttps://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2\n\n PSI v2:\nhttps://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2\n PSI v2:\nhttps://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2\n PSI v2: PSI v2: PSI v2: \nhttps://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2\n \nhttps://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2\n https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2 https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.psi_v2 \nPIR:\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query\nPIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config\n\n PIR:\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query\nPIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config\n PIR:\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query\nPIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config\n PIR: PIR: PIR: \n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query\nPIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config\n \n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query\n(已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query\nPIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config\n (已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_setup (已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_query (已弃用) https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/source/secretflow#secretflow.SPU.pir_memory_query PIR 配置项：https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config https://www.secretflow.org.cn/zh-CN/docs/psi/v0.5.0b0/reference/pir_config \n组件列表：https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/component/comp_list#psi\n 组件列表：https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/component/comp_list#psi https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/component/comp_list#psi "],[32,"请参考 SecretPad 操作手册。 SecretPad 操作手册 "],[28,"请参考 SPU 安装指南。 SPU 安装指南 API 文档：https://www.secretflow.org.cn/zh-CN/docs/spu/main/reference/py_api https://www.secretflow.org.cn/zh-CN/docs/spu/main/reference/py_api "],[26,"请参考文档：编译说明。 编译说明 "],[137,"请在 dockerhub 上查看官方发布版 docker 镜像。我们在阿里云也设有镜像源：secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8。 dockerhub "],[161,"请在 dockerhub 上查看官方发布版 docker 镜像。我们在阿里云也设有镜像源：secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8。 dockerhub "],[39,"请在 Github Issues 提交问题反馈。 Github Issues 我们会及时跟进并回复您的问题。 "],[94,"请在PSI v1配置中查看psi.BucketPsiConfig。请在PSI v2配置中查看psi.v2.PsiConfig和psi.v2.UbPsiConfig。 "],[33,"请查看 Easy PSI handbook。 Easy PSI handbook "],[25,"请查看官方发布镜像 dockerhub， 我们也提供了阿里云镜像: secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8。 dockerhub secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8 "],[144,"请查阅 相关示例。如需更多演示配置，你可以查看 这里。 相关示例 这里 "],[120,"请注意，对于不同的数据规模，我们需要使用不同的 params_file。 params_file  "],[122,"请注意，对于不同的数据规模，我们需要使用不同的 params_file。 params_file  "],[133,"请阅读 README, 更多示例配置可以查看 psi config. README psi config "],[66,"输入/输出配置 数据域类型描述type IoType无path stringFILE 的路径 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 type IoType无path stringFILE 的路径 type IoType无 type type  IoType  IoType  IoType 无 无 path stringFILE 的路径 path path  string  string  string  string FILE 的路径 FILE 的路径  "],[157,"这里展示了按照上述方法测量的PSI V2基准测试结果。 \n默认时间单位为秒，m代表分钟，h代表小时。\n 默认时间单位为秒，m代表分钟，h代表小时。 m h                                                                                                                                                                                                                                                                                         "],[48,"部分同态加密（SHE）可用于在不平衡设置中构建高效的（带标签的）隐私集合求交协议，其中一方的集合远大于另一方。 [CMGD+21] 对 [CLR17] 和 [CHLR18] 中的协议进行了多项优化和改进，从而在发送方集合规模上实现了更优的运行时间和通信复杂度。 [CMGD+21] [CLR17] [CHLR18] 微软的 APSI (Asymmetric PSI)  库基于最新研究 [CMGD+21]，为非对称集合规模提供了PSI功能。APSI使用在微软 [SEAL]_库中实现的BFV( [FV12])加密方案。 APSI (Asymmetric PSI) [CMGD+21] [FV12] SecretFlow SPU封装了 APSI 库，可用于 APSI \n非平衡PSI协议\n恶意模型PSI协议\n标签PSI\n关键词PIR（私有信息检索）\n 非平衡PSI协议 恶意模型PSI协议 标签PSI 关键词PIR（私有信息检索）    \n设置阶段\n\n\n选择 ItemParams、TableParams、QueryParams、SEALParams。\n\n发送方的OPRF：发送方为OPRF采样一个密钥 β\\betaβ ，并将物品集合更新为 {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S}{{H2​(si​,H1​(si​)β)}}si​∈S​ 。\n发送方的哈希处理：发送方将所有 si∈Ss_i \\in Ssi​∈S 插入到集合 B[h0(si)]\\mathcal{B}[h_0(s_i)]B[h0​(si​)] 、 B[h1(si)]\\mathcal{B}[h_1(s_i)]B[h1​(si​)] 和 B[h2(si)]\\mathcal{B}[h_2(s_i)]B[h2​(si​)] 中。\n分割：对于每个集合 B[i]\\mathcal{B}[i]B[i] ，发送方将其分割为bin bundles，表示为 B[i,1]\\mathcal{B}[i,1]B[i,1] 到 B[i,k]\\mathcal{B}[i,k]B[i,k] 。\n计算系数：\n\n匹配多项式：对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上计算匹配多项式。\n标签多项式：如果发送方的集合关联有标签，则对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上插值标签多项式。\n\n\n\n\n交集阶段\n\n接收方加密 ri∈Rr_i \\in Rri​∈R 。\n\n接收方的OPRF：接收方和发送方运行ecdh-OPRF协议，获得 {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ 。\n接收方的布谷鸟哈希：接收方使用h1、h2、h3哈希函数将集合 RRR 哈希到具有m个桶的布谷鸟表 C中。\n打包处理：接收方将布谷鸟表C中的项打包成FHE明文多项式。\n窗口化处理：接收方计算分量级查询幂。\n加密：接收方使用 FHE.Encrypt 加密查询幂，并将密文发送给发送方。\n\n\n发送方同态评估匹配多项式：发送方接收密文集合并同态评估匹配多项式。如果需要标记PSI，发送方还会同态评估标签多项式。发送方将评估后的密文发送给接收方。\n接收方解密并获取结果：接收方接收并解密匹配密文，必要时解密标签密文，输出匹配集合和标签。\n\n\n 设置阶段\n\n\n选择 ItemParams、TableParams、QueryParams、SEALParams。\n\n发送方的OPRF：发送方为OPRF采样一个密钥 β\\betaβ ，并将物品集合更新为 {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S}{{H2​(si​,H1​(si​)β)}}si​∈S​ 。\n发送方的哈希处理：发送方将所有 si∈Ss_i \\in Ssi​∈S 插入到集合 B[h0(si)]\\mathcal{B}[h_0(s_i)]B[h0​(si​)] 、 B[h1(si)]\\mathcal{B}[h_1(s_i)]B[h1​(si​)] 和 B[h2(si)]\\mathcal{B}[h_2(s_i)]B[h2​(si​)] 中。\n分割：对于每个集合 B[i]\\mathcal{B}[i]B[i] ，发送方将其分割为bin bundles，表示为 B[i,1]\\mathcal{B}[i,1]B[i,1] 到 B[i,k]\\mathcal{B}[i,k]B[i,k] 。\n计算系数：\n\n匹配多项式：对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上计算匹配多项式。\n标签多项式：如果发送方的集合关联有标签，则对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上插值标签多项式。\n\n\n\n \n\n选择 ItemParams、TableParams、QueryParams、SEALParams。\n\n发送方的OPRF：发送方为OPRF采样一个密钥 β\\betaβ ，并将物品集合更新为 {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S}{{H2​(si​,H1​(si​)β)}}si​∈S​ 。\n发送方的哈希处理：发送方将所有 si∈Ss_i \\in Ssi​∈S 插入到集合 B[h0(si)]\\mathcal{B}[h_0(s_i)]B[h0​(si​)] 、 B[h1(si)]\\mathcal{B}[h_1(s_i)]B[h1​(si​)] 和 B[h2(si)]\\mathcal{B}[h_2(s_i)]B[h2​(si​)] 中。\n分割：对于每个集合 B[i]\\mathcal{B}[i]B[i] ，发送方将其分割为bin bundles，表示为 B[i,1]\\mathcal{B}[i,1]B[i,1] 到 B[i,k]\\mathcal{B}[i,k]B[i,k] 。\n计算系数：\n\n匹配多项式：对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上计算匹配多项式。\n标签多项式：如果发送方的集合关联有标签，则对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上插值标签多项式。\n\n\n \n选择 ItemParams、TableParams、QueryParams、SEALParams。\n 选择 ItemParams、TableParams、QueryParams、SEALParams。 发送方的OPRF：发送方为OPRF采样一个密钥 β\\betaβ ，并将物品集合更新为 {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S}{{H2​(si​,H1​(si​)β)}}si​∈S​ 。 发送方的OPRF β\\betaβ β\\betaβ β\\beta β\\beta β\\beta β β \\beta β β  β {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S}{{H2​(si​,H1​(si​)β)}}si​∈S​ {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S}{{H2​(si​,H1​(si​)β)}}si​∈S​ {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S} {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S} {{H2(si,H1(si)β)}}si∈S\\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S} {{H2(si,H1(si)β)}}si∈S { { H2 H 2 ( si s i , H1(si)β H1(si) H1 H 1 ( si s i ) β ) } }si∈S } si∈S si s i ∈ S \\{\\{H_2(s_i,{H_1(s_i)}^\\beta)\\}\\}_{s_i\\in S} {{H2​(si​,H1​(si​)β)}}si​∈S​ {{H2​(si​,H1​(si​)β)}}si​∈S​  {{ H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( si​ s i​ i​ i​ i i  i i ​    ,  H1​(si​)β H1​(si​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( si​ s i​ i​ i​ i i  i i ​    ) β β β β β  β β )} }si​∈S​ } si​∈S​ si​∈S​ si​∈S​ si​∈S si​∈S  si​∈S si​∈S si​ s i​ i​ i​ i i  i i ​    ∈ S ​    发送方的哈希处理：发送方将所有 si∈Ss_i \\in Ssi​∈S 插入到集合 B[h0(si)]\\mathcal{B}[h_0(s_i)]B[h0​(si​)] 、 B[h1(si)]\\mathcal{B}[h_1(s_i)]B[h1​(si​)] 和 B[h2(si)]\\mathcal{B}[h_2(s_i)]B[h2​(si​)] 中。 发送方的哈希处理 si∈Ss_i \\in Ssi​∈S si∈Ss_i \\in Ssi​∈S si∈Ss_i \\in S si∈Ss_i \\in S si∈Ss_i \\in S si∈S si s i ∈ S s_i \\in S si​∈S si​∈  si​ s i​ i​ i​ i i  i i ​     ∈  S  S B[h0(si)]\\mathcal{B}[h_0(s_i)]B[h0​(si​)] B[h0(si)]\\mathcal{B}[h_0(s_i)]B[h0​(si​)] B[h0(si)]\\mathcal{B}[h_0(s_i)] B[h0(si)]\\mathcal{B}[h_0(s_i)] B[h0(si)]\\mathcal{B}[h_0(s_i)] B[h0(si)] B [ h0 h 0 ( si s i ) ] \\mathcal{B}[h_0(s_i)] B[h0​(si​)] B[h0​(si​)]  B [ h0​ h 0​ 0​ 0​ 0 0  0 0 ​    ( si​ s i​ i​ i​ i i  i i ​    )] B[h1(si)]\\mathcal{B}[h_1(s_i)]B[h1​(si​)] B[h1(si)]\\mathcal{B}[h_1(s_i)]B[h1​(si​)] B[h1(si)]\\mathcal{B}[h_1(s_i)] B[h1(si)]\\mathcal{B}[h_1(s_i)] B[h1(si)]\\mathcal{B}[h_1(s_i)] B[h1(si)] B [ h1 h 1 ( si s i ) ] \\mathcal{B}[h_1(s_i)] B[h1​(si​)] B[h1​(si​)]  B [ h1​ h 1​ 1​ 1​ 1 1  1 1 ​    ( si​ s i​ i​ i​ i i  i i ​    )] B[h2(si)]\\mathcal{B}[h_2(s_i)]B[h2​(si​)] B[h2(si)]\\mathcal{B}[h_2(s_i)]B[h2​(si​)] B[h2(si)]\\mathcal{B}[h_2(s_i)] B[h2(si)]\\mathcal{B}[h_2(s_i)] B[h2(si)]\\mathcal{B}[h_2(s_i)] B[h2(si)] B [ h2 h 2 ( si s i ) ] \\mathcal{B}[h_2(s_i)] B[h2​(si​)] B[h2​(si​)]  B [ h2​ h 2​ 2​ 2​ 2 2  2 2 ​    ( si​ s i​ i​ i​ i i  i i ​    )] 分割：对于每个集合 B[i]\\mathcal{B}[i]B[i] ，发送方将其分割为bin bundles，表示为 B[i,1]\\mathcal{B}[i,1]B[i,1] 到 B[i,k]\\mathcal{B}[i,k]B[i,k] 。 分割 B[i]\\mathcal{B}[i]B[i] B[i]\\mathcal{B}[i]B[i] B[i]\\mathcal{B}[i] B[i]\\mathcal{B}[i] B[i]\\mathcal{B}[i] B[i] B [ i ] \\mathcal{B}[i] B[i] B[i]  B [ i ] B[i,1]\\mathcal{B}[i,1]B[i,1] B[i,1]\\mathcal{B}[i,1]B[i,1] B[i,1]\\mathcal{B}[i,1] B[i,1]\\mathcal{B}[i,1] B[i,1]\\mathcal{B}[i,1] B[i,1] B [ i , 1 ] \\mathcal{B}[i,1] B[i,1] B[i,1]  B [ i ,  1 ] B[i,k]\\mathcal{B}[i,k]B[i,k] B[i,k]\\mathcal{B}[i,k]B[i,k] B[i,k]\\mathcal{B}[i,k] B[i,k]\\mathcal{B}[i,k] B[i,k]\\mathcal{B}[i,k] B[i,k] B [ i , k ] \\mathcal{B}[i,k] B[i,k] B[i,k]  B [ i ,  k ] 计算系数：\n\n匹配多项式：对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上计算匹配多项式。\n标签多项式：如果发送方的集合关联有标签，则对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上插值标签多项式。\n\n 计算系数 \n匹配多项式：对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上计算匹配多项式。\n标签多项式：如果发送方的集合关联有标签，则对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上插值标签多项式。\n 匹配多项式：对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上计算匹配多项式。 匹配多项式 B[i,j]\\mathcal{B}[i,j]B[i,j] B[i,j]\\mathcal{B}[i,j]B[i,j] B[i,j]\\mathcal{B}[i,j] B[i,j]\\mathcal{B}[i,j] B[i,j]\\mathcal{B}[i,j] B[i,j] B [ i , j ] \\mathcal{B}[i,j] B[i,j] B[i,j]  B [ i ,  j ] Ft\\mathbb{F}_tFt​ Ft\\mathbb{F}_tFt​ Ft\\mathbb{F}_t Ft\\mathbb{F}_t Ft\\mathbb{F}_t Ft Ft F t \\mathbb{F}_t Ft​ Ft​  Ft​ F t​ t​ t​ t t  t t ​    标签多项式：如果发送方的集合关联有标签，则对于每个bin bundle B[i,j]\\mathcal{B}[i,j]B[i,j] ，发送方在有限域 Ft\\mathbb{F}_tFt​ 上插值标签多项式。 标签多项式 B[i,j]\\mathcal{B}[i,j]B[i,j] B[i,j]\\mathcal{B}[i,j]B[i,j] B[i,j]\\mathcal{B}[i,j] B[i,j]\\mathcal{B}[i,j] B[i,j]\\mathcal{B}[i,j] B[i,j] B [ i , j ] \\mathcal{B}[i,j] B[i,j] B[i,j]  B [ i ,  j ] Ft\\mathbb{F}_tFt​ Ft\\mathbb{F}_tFt​ Ft\\mathbb{F}_t Ft\\mathbb{F}_t Ft\\mathbb{F}_t Ft Ft F t \\mathbb{F}_t Ft​ Ft​  Ft​ F t​ t​ t​ t t  t t ​    交集阶段\n\n接收方加密 ri∈Rr_i \\in Rri​∈R 。\n\n接收方的OPRF：接收方和发送方运行ecdh-OPRF协议，获得 {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ 。\n接收方的布谷鸟哈希：接收方使用h1、h2、h3哈希函数将集合 RRR 哈希到具有m个桶的布谷鸟表 C中。\n打包处理：接收方将布谷鸟表C中的项打包成FHE明文多项式。\n窗口化处理：接收方计算分量级查询幂。\n加密：接收方使用 FHE.Encrypt 加密查询幂，并将密文发送给发送方。\n\n\n发送方同态评估匹配多项式：发送方接收密文集合并同态评估匹配多项式。如果需要标记PSI，发送方还会同态评估标签多项式。发送方将评估后的密文发送给接收方。\n接收方解密并获取结果：接收方接收并解密匹配密文，必要时解密标签密文，输出匹配集合和标签。\n\n \n接收方加密 ri∈Rr_i \\in Rri​∈R 。\n\n接收方的OPRF：接收方和发送方运行ecdh-OPRF协议，获得 {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ 。\n接收方的布谷鸟哈希：接收方使用h1、h2、h3哈希函数将集合 RRR 哈希到具有m个桶的布谷鸟表 C中。\n打包处理：接收方将布谷鸟表C中的项打包成FHE明文多项式。\n窗口化处理：接收方计算分量级查询幂。\n加密：接收方使用 FHE.Encrypt 加密查询幂，并将密文发送给发送方。\n\n\n发送方同态评估匹配多项式：发送方接收密文集合并同态评估匹配多项式。如果需要标记PSI，发送方还会同态评估标签多项式。发送方将评估后的密文发送给接收方。\n接收方解密并获取结果：接收方接收并解密匹配密文，必要时解密标签密文，输出匹配集合和标签。\n 接收方加密 ri∈Rr_i \\in Rri​∈R 。\n\n接收方的OPRF：接收方和发送方运行ecdh-OPRF协议，获得 {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ 。\n接收方的布谷鸟哈希：接收方使用h1、h2、h3哈希函数将集合 RRR 哈希到具有m个桶的布谷鸟表 C中。\n打包处理：接收方将布谷鸟表C中的项打包成FHE明文多项式。\n窗口化处理：接收方计算分量级查询幂。\n加密：接收方使用 FHE.Encrypt 加密查询幂，并将密文发送给发送方。\n\n ri∈Rr_i \\in Rri​∈R ri∈Rr_i \\in Rri​∈R ri∈Rr_i \\in R ri∈Rr_i \\in R ri∈Rr_i \\in R ri∈R ri r i ∈ R r_i \\in R ri​∈R ri​∈  ri​ r i​ i​ i​ i i  i i ​     ∈  R  R \n接收方的OPRF：接收方和发送方运行ecdh-OPRF协议，获得 {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ 。\n接收方的布谷鸟哈希：接收方使用h1、h2、h3哈希函数将集合 RRR 哈希到具有m个桶的布谷鸟表 C中。\n打包处理：接收方将布谷鸟表C中的项打包成FHE明文多项式。\n窗口化处理：接收方计算分量级查询幂。\n加密：接收方使用 FHE.Encrypt 加密查询幂，并将密文发送给发送方。\n 接收方的OPRF：接收方和发送方运行ecdh-OPRF协议，获得 {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ 。 接收方的OPRF {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R}{{H2​(ri​,H1​(ri​)β)}}ri​∈R​ {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R} {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R} {{H2(ri,H1(ri)β)}}ri∈R\\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R} {{H2(ri,H1(ri)β)}}ri∈R { { H2 H 2 ( ri r i , H1(ri)β H1(ri) H1 H 1 ( ri r i ) β ) } }ri∈R } ri∈R ri r i ∈ R \\{\\{H_2(r_i,{H_1(r_i)}^\\beta)\\}\\}_{r_i\\in R} {{H2​(ri​,H1​(ri​)β)}}ri​∈R​ {{H2​(ri​,H1​(ri​)β)}}ri​∈R​  {{ H2​ H 2​ 2​ 2​ 2 2  2 2 ​    ( ri​ r i​ i​ i​ i i  i i ​    ,  H1​(ri​)β H1​(ri​) H1​ H 1​ 1​ 1​ 1 1  1 1 ​    ( ri​ r i​ i​ i​ i i  i i ​    ) β β β β β  β β )} }ri​∈R​ } ri​∈R​ ri​∈R​ ri​∈R​ ri​∈R ri​∈R  ri​∈R ri​∈R ri​ r i​ i​ i​ i i  i i ​    ∈ R ​    接收方的布谷鸟哈希：接收方使用h1、h2、h3哈希函数将集合 RRR 哈希到具有m个桶的布谷鸟表 C中。 接收方的布谷鸟哈希 RRR RRR RR RR RR R R R R R  R 打包处理：接收方将布谷鸟表C中的项打包成FHE明文多项式。 打包处理 窗口化处理：接收方计算分量级查询幂。 窗口化处理 加密：接收方使用 FHE.Encrypt 加密查询幂，并将密文发送给发送方。 加密 FHE.Encrypt 发送方同态评估匹配多项式：发送方接收密文集合并同态评估匹配多项式。如果需要标记PSI，发送方还会同态评估标签多项式。发送方将评估后的密文发送给接收方。 发送方同态评估匹配多项式 接收方解密并获取结果：接收方接收并解密匹配密文，必要时解密标签密文，输出匹配集合和标签。 接收方解密并获取结果 标记PSI参数 参数功能1ItemParams（项参数）felts_per_item（每项元素数）每个项应占用多少Microsoft SEAL批处理槽 = item_bit_size / plain_modulus_bits，其中item_bit_size = stats_params + log(ns)+log(nr)2TableParams（表参数）hash_func_count（哈希函数数量）布谷鸟哈希数量。如果nr>1，则hash_func_count=3；nr=1时，hash_func_count=1，实质上禁用了布谷鸟哈希table_size（表大小）floor(poly_modulus_degree/felts_per_item)的正整数倍max_items_per_bin（每桶最大项数）发送方bin bundles中每行可容纳的项数3QueryParams（查询参数）ps_low_degree（PS低阶度）0到max_items_per_bin之间的任意数值。如果设为0，则不使用Paterson-Stockmeyer算法；ps_low_degree > 1时，使用Paterson-Stockmeyer算法query_powers（查询幂）发送方bin bundles每行可容纳的项数，参考Challis和Robinson (2010)确定合适的源幂4SEALParams（SEAL参数）poly_modulus_degree（多项式模数度）2048 / 4096 / 8192plain_modulus(_bits)（明文模数（位数））16(65535) / 22(位)coeff_modulus_bits（系数模数位数）{48} / {48, 30, 30} / {56, 56, 56, 50} 参数功能 参数功能  参数 参数 功能 功能 1ItemParams（项参数）felts_per_item（每项元素数）每个项应占用多少Microsoft SEAL批处理槽 = item_bit_size / plain_modulus_bits，其中item_bit_size = stats_params + log(ns)+log(nr)2TableParams（表参数）hash_func_count（哈希函数数量）布谷鸟哈希数量。如果nr>1，则hash_func_count=3；nr=1时，hash_func_count=1，实质上禁用了布谷鸟哈希table_size（表大小）floor(poly_modulus_degree/felts_per_item)的正整数倍max_items_per_bin（每桶最大项数）发送方bin bundles中每行可容纳的项数3QueryParams（查询参数）ps_low_degree（PS低阶度）0到max_items_per_bin之间的任意数值。如果设为0，则不使用Paterson-Stockmeyer算法；ps_low_degree > 1时，使用Paterson-Stockmeyer算法query_powers（查询幂）发送方bin bundles每行可容纳的项数，参考Challis和Robinson (2010)确定合适的源幂4SEALParams（SEAL参数）poly_modulus_degree（多项式模数度）2048 / 4096 / 8192plain_modulus(_bits)（明文模数（位数））16(65535) / 22(位)coeff_modulus_bits（系数模数位数）{48} / {48, 30, 30} / {56, 56, 56, 50} 1ItemParams（项参数） 1 1 ItemParams（项参数） ItemParams（项参数）   felts_per_item（每项元素数）每个项应占用多少Microsoft SEAL批处理槽 = item_bit_size / plain_modulus_bits，其中item_bit_size = stats_params + log(ns)+log(nr)  felts_per_item（每项元素数） felts_per_item（每项元素数） 每个项应占用多少Microsoft SEAL批处理槽 = item_bit_size / plain_modulus_bits，其中item_bit_size = stats_params + log(ns)+log(nr) 每个项应占用多少Microsoft SEAL批处理槽 = item_bit_size / plain_modulus_bits，其中item_bit_size = stats_params + log(ns)+log(nr) 2TableParams（表参数） 2 2 TableParams（表参数） TableParams（表参数）   hash_func_count（哈希函数数量）布谷鸟哈希数量。如果nr>1，则hash_func_count=3；nr=1时，hash_func_count=1，实质上禁用了布谷鸟哈希  hash_func_count（哈希函数数量） hash_func_count（哈希函数数量） 布谷鸟哈希数量。如果nr>1，则hash_func_count=3；nr=1时，hash_func_count=1，实质上禁用了布谷鸟哈希 布谷鸟哈希数量。如果nr>1，则hash_func_count=3；nr=1时，hash_func_count=1，实质上禁用了布谷鸟哈希 table_size（表大小）floor(poly_modulus_degree/felts_per_item)的正整数倍  table_size（表大小） table_size（表大小） floor(poly_modulus_degree/felts_per_item)的正整数倍 floor(poly_modulus_degree/felts_per_item)的正整数倍 max_items_per_bin（每桶最大项数）发送方bin bundles中每行可容纳的项数  max_items_per_bin（每桶最大项数） max_items_per_bin（每桶最大项数） 发送方bin bundles中每行可容纳的项数 发送方bin bundles中每行可容纳的项数 3QueryParams（查询参数） 3 3 QueryParams（查询参数） QueryParams（查询参数）   ps_low_degree（PS低阶度）0到max_items_per_bin之间的任意数值。如果设为0，则不使用Paterson-Stockmeyer算法；ps_low_degree > 1时，使用Paterson-Stockmeyer算法  ps_low_degree（PS低阶度） ps_low_degree（PS低阶度） 0到max_items_per_bin之间的任意数值。如果设为0，则不使用Paterson-Stockmeyer算法；ps_low_degree > 1时，使用Paterson-Stockmeyer算法 0到max_items_per_bin之间的任意数值。如果设为0，则不使用Paterson-Stockmeyer算法；ps_low_degree > 1时，使用Paterson-Stockmeyer算法 query_powers（查询幂）发送方bin bundles每行可容纳的项数，参考Challis和Robinson (2010)确定合适的源幂  query_powers（查询幂） query_powers（查询幂） 发送方bin bundles每行可容纳的项数，参考Challis和Robinson (2010)确定合适的源幂 发送方bin bundles每行可容纳的项数，参考Challis和Robinson (2010)确定合适的源幂 4SEALParams（SEAL参数） 4 4 SEALParams（SEAL参数） SEALParams（SEAL参数）   poly_modulus_degree（多项式模数度）2048 / 4096 / 8192  poly_modulus_degree（多项式模数度） poly_modulus_degree（多项式模数度） 2048 / 4096 / 8192 2048 / 4096 / 8192 plain_modulus(_bits)（明文模数（位数））16(65535) / 22(位)  plain_modulus(_bits)（明文模数（位数）） plain_modulus(_bits)（明文模数（位数）） 16(65535) / 22(位) 16(65535) / 22(位) coeff_modulus_bits（系数模数位数）{48} / {48, 30, 30} / {56, 56, 56, 50}  coeff_modulus_bits（系数模数位数） coeff_modulus_bits（系数模数位数） {48} / {48, 30, 30} / {56, 56, 56, 50} {48} / {48, 30, 30} / {56, 56, 56, 50} "],[160,"配置详情请查阅文档 PSI v1 配置。 PSI v1 配置 若要启动 PSI，请参考文档 启动配置 中的启动配置并填写 runtime_config.legacy_psi_config 字段。 启动配置 runtime_config.legacy_psi_config "],[111,"重试选项 FieldTypeDescriptionmax_retry uint32\"\"最大重试次数，默认为 3retry_interval_ms uint32\"\"首次重试时，重试之间的时间间隔，默认值为 1 秒。retry_interval_incr_ms uint32\"\"重试间隔增加的时间默认值为 2 秒max_retry_interval_ms uint32\"\"重试间隔的最大值默认值为 10 秒error_codesrepeated uint32针对这些 brpc 错误码进行重试，若为空，则对所有错误码重试http_codesrepeated uint32针对这些 http 错误码进行重试，若为空，则对所有 http 错误码重试aggressive_retry bool启用激进重试，即会在额外错误码上进行重试 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description max_retry uint32\"\"最大重试次数，默认为 3retry_interval_ms uint32\"\"首次重试时，重试之间的时间间隔，默认值为 1 秒。retry_interval_incr_ms uint32\"\"重试间隔增加的时间默认值为 2 秒max_retry_interval_ms uint32\"\"重试间隔的最大值默认值为 10 秒error_codesrepeated uint32针对这些 brpc 错误码进行重试，若为空，则对所有错误码重试http_codesrepeated uint32针对这些 http 错误码进行重试，若为空，则对所有 http 错误码重试aggressive_retry bool启用激进重试，即会在额外错误码上进行重试 max_retry uint32\"\"最大重试次数，默认为 3 max_retry max_retry  uint32\"\"  uint32\"\"  uint32  uint32 最大重试次数，默认为 3 最大重试次数，默认为 3 retry_interval_ms uint32\"\"首次重试时，重试之间的时间间隔，默认值为 1 秒。 retry_interval_ms retry_interval_ms  uint32\"\"  uint32\"\"  uint32  uint32 首次重试时，重试之间的时间间隔，默认值为 1 秒。 首次重试时，重试之间的时间间隔，默认值为 1 秒。 retry_interval_incr_ms uint32\"\"重试间隔增加的时间默认值为 2 秒 retry_interval_incr_ms retry_interval_incr_ms  uint32\"\"  uint32\"\"  uint32  uint32 重试间隔增加的时间默认值为 2 秒 重试间隔增加的时间默认值为 2 秒 max_retry_interval_ms uint32\"\"重试间隔的最大值默认值为 10 秒 max_retry_interval_ms max_retry_interval_ms  uint32\"\"  uint32\"\"  uint32  uint32 重试间隔的最大值默认值为 10 秒 重试间隔的最大值默认值为 10 秒 error_codesrepeated uint32针对这些 brpc 错误码进行重试，若为空，则对所有错误码重试 error_codes error_codes repeated uint32 repeated uint32 repeated uint32 repeated uint32 针对这些 brpc 错误码进行重试，若为空，则对所有错误码重试 针对这些 brpc 错误码进行重试，若为空，则对所有错误码重试 http_codesrepeated uint32针对这些 http 错误码进行重试，若为空，则对所有 http 错误码重试 http_codes http_codes repeated uint32 repeated uint32 repeated uint32 repeated uint32 针对这些 http 错误码进行重试，若为空，则对所有 http 错误码重试 针对这些 http 错误码进行重试，若为空，则对所有 http 错误码重试 aggressive_retry bool启用激进重试，即会在额外错误码上进行重试 aggressive_retry aggressive_retry  bool  bool  bool  bool 启用激进重试，即会在额外错误码上进行重试 启用激进重试，即会在额外错误码上进行重试  "],[109,"链路配置的设置 FieldTypeDescriptionid string此次通信的 UUIDpartiesrepeated PartyProto参与方描述，描述世界connect_retry_times uint32\"\"连接到网格的重试时间connect_retry_interval_ms uint32\"\"连接到网格的重试间隔recv_timeout_ms uint64接收超时时间（单位为毫秒）。 FieldTypeDescription FieldTypeDescription Field Field Type Type Description Description id string此次通信的 UUIDpartiesrepeated PartyProto参与方描述，描述世界connect_retry_times uint32\"\"连接到网格的重试时间connect_retry_interval_ms uint32\"\"连接到网格的重试间隔recv_timeout_ms uint64接收超时时间（单位为毫秒）。 id string此次通信的 UUID id id  string  string  string  string 此次通信的 UUID 此次通信的 UUID partiesrepeated PartyProto参与方描述，描述世界 parties parties repeated PartyProto repeated PartyProto repeated PartyProto 参与方描述，描述世界 参与方描述，描述世界 connect_retry_times uint32\"\"连接到网格的重试时间 connect_retry_times connect_retry_times  uint32\"\"  uint32\"\"  uint32  uint32 连接到网格的重试时间 连接到网格的重试时间 connect_retry_interval_ms uint32\"\"连接到网格的重试间隔 connect_retry_interval_ms connect_retry_interval_ms  uint32\"\"  uint32\"\"  uint32  uint32 连接到网格的重试间隔 连接到网格的重试间隔 recv_timeout_ms uint64接收超时时间（单位为毫秒）。 recv_timeout_ms recv_timeout_ms  uint64  uint64  uint64  uint64 接收超时时间（单位为毫秒）。 接收超时时间（单位为毫秒）。 ‘接收时间’是一方等待某一特定事件的最长时间。例如： 开始接收  结束接收 |--------|-------接收-时间----------|------------------| alice的时间线 开始发送  结束发送 |-----忙碌-工作-------------|-------------|------------| bob的时间线 在上述例子中，当爱丽丝开始为某个特定事件进行接收操作时，bob仍在忙着做自己的事情。当alice的等待时间超过了等待超时时间（以毫秒为单位），它就会抛出异常，尽管此时鲍勃刚开始发送数据。 所以对于耗时较长的任务（在这种情况下一方可能需要等待另一方很长时间），这个值应该相应地进行调整。| | http最大负载大小” | 无符号32位整数（uint32） | 这是HTTP的最大负载大小。如果单个HTTP请求的大小超过了这个限制，它将被拆分成小的数据块，然后再重新组合起来。 无符号32位整数（uint32） This field does affect performance. Please choose wisely. | | http_timeout_ms |  uint32 | 单个HTTP请求的超时时间。 | | throttle_window_size |  uint32 | 通道的限流窗口大小。如果正在传输的消息数量超过了限制大小，SendAsync 将阻塞，直到消息被处理，或者在等待 recv_timeout_ms 后抛出异常 | | brpc_channel_protocol |  string | BRPC客户端通道协议。 | | brpc_channel_connection_type |  string | BRPC客户端通道连接类型。 | | enable_ssl |  bool | 链接通道的SSL选项。 | | client_ssl_opts |  SSLOptionsProto | 通道的SSL配置。如果 enable_ssl == false，则此配置将被忽略； | | server_ssl_opts |  SSLOptionsProto | 服务的SSL配置。如果 enable_ssl == false，则此配置将被忽略； | | chunk_parallel_send_size |  uint32 | 通道的分块并行发送大小。如果在发送消息时需要分块发送，最大并行发送大小为 chunk_parallel_send_size | | retry_opts |  RetryOptionsProto | 重试选项 |  uint32  uint32 SendAsync recv_timeout_ms  string  string  bool  SSLOptionsProto  SSLOptionsProto  uint32  RetryOptionsProto  "],[158,"隐私集合求 (PSI) V1 接口快速入门。 "],[70,"顶层配置。run(PsiConfig)->PsiReport advanced_join_type 有很多种\n类型：Inner Join，例如，若 receiver 的输入是  sender 的输入是  在 inner join 后，receiver 的输出是  sender 的输出是  类型：Left Join After left join，左侧的输出是  右侧的输出是  类型：Right Join After right join，左侧的输出是  右侧的输出是  类型：Full Join After full join，左侧的输出是  右侧的输出是  类型：Difference After difference，左侧的输出是  右侧的输出是  数据域类型描述protocol_config ProtocolConfig协议的配置input_config IoConfig输入的配置output_config IoConfig输出的配置keysrepeated string求交所用的键（key）debug_options DebugOptionsLogging level.disable_alignment bool如果设为 true，那么输出不一定保证对齐recovery_config RecoveryConfig协议恢复配置advanced_join_type PsiConfig.AdvancedJoinType无left_side Role如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填check_hash_digest bool检查参与方的键的哈希值是否相等，来确定是否提前终止协议input_attr InputAttr输入属性output_attr OutputAttr输出属性 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 protocol_config ProtocolConfig协议的配置input_config IoConfig输入的配置output_config IoConfig输出的配置keysrepeated string求交所用的键（key）debug_options DebugOptionsLogging level.disable_alignment bool如果设为 true，那么输出不一定保证对齐recovery_config RecoveryConfig协议恢复配置advanced_join_type PsiConfig.AdvancedJoinType无left_side Role如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填check_hash_digest bool检查参与方的键的哈希值是否相等，来确定是否提前终止协议input_attr InputAttr输入属性output_attr OutputAttr输出属性 protocol_config ProtocolConfig协议的配置 protocol_config protocol_config  ProtocolConfig  ProtocolConfig  ProtocolConfig 协议的配置 协议的配置 input_config IoConfig输入的配置 input_config input_config  IoConfig  IoConfig  IoConfig 输入的配置 输入的配置 output_config IoConfig输出的配置 output_config output_config  IoConfig  IoConfig  IoConfig 输出的配置 输出的配置 keysrepeated string求交所用的键（key） keys keys repeated string repeated string repeated string repeated string 求交所用的键（key） 求交所用的键（key） debug_options DebugOptionsLogging level. debug_options debug_options  DebugOptions  DebugOptions  DebugOptions Logging level. Logging level. disable_alignment bool如果设为 true，那么输出不一定保证对齐 disable_alignment disable_alignment  bool  bool  bool  bool 如果设为 true，那么输出不一定保证对齐 如果设为 true，那么输出不一定保证对齐 recovery_config RecoveryConfig协议恢复配置 recovery_config recovery_config  RecoveryConfig  RecoveryConfig  RecoveryConfig 协议恢复配置 协议恢复配置 advanced_join_type PsiConfig.AdvancedJoinType无 advanced_join_type advanced_join_type  PsiConfig.AdvancedJoinType  PsiConfig.AdvancedJoinType  PsiConfig.AdvancedJoinType 无 无 left_side Role如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填 left_side left_side  Role  Role  Role 如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填 如果 advanced_join_type 设置为了 ADVANCED_JOIN_TYPE_LEFT_JOIN 或 ADVANCED_JOIN_TYPE_RIGHT_JOIN，则该项必填 check_hash_digest bool检查参与方的键的哈希值是否相等，来确定是否提前终止协议 check_hash_digest check_hash_digest  bool  bool  bool  bool 检查参与方的键的哈希值是否相等，来确定是否提前终止协议 检查参与方的键的哈希值是否相等，来确定是否提前终止协议 input_attr InputAttr输入属性 input_attr input_attr  InputAttr  InputAttr  InputAttr 输入属性 输入属性 output_attr OutputAttr输出属性 output_attr output_attr  OutputAttr  OutputAttr  OutputAttr 输出属性 输出属性  "],[77,"高级求交，允许重复的键。 \n如果开启，那么会跳过 duplicates_check。\n如果开启，那么协议双方可以持有重复的键。\n如果使用 left join、full join 或 difference，那么左方差集的大小会泄露给右方。\n如果使用 right join、full join 或 difference，那么右方差集的大小会泄露给左方。\n 如果开启，那么会跳过 duplicates_check。 如果开启，那么协议双方可以持有重复的键。 如果使用 left join、full join 或 difference，那么左方差集的大小会泄露给右方。 如果使用 right join、full join 或 difference，那么右方差集的大小会泄露给左方。 NameNumber描述ADVANCED_JOIN_TYPE_UNSPECIFIED0无ADVANCED_JOIN_TYPE_INNER_JOIN1无ADVANCED_JOIN_TYPE_LEFT_JOIN2无ADVANCED_JOIN_TYPE_RIGHT_JOIN3无ADVANCED_JOIN_TYPE_FULL_JOIN4无ADVANCED_JOIN_TYPE_DIFFERENCE5无 NameNumber描述 NameNumber描述 Name Name Number Number 描述 描述 ADVANCED_JOIN_TYPE_UNSPECIFIED0无ADVANCED_JOIN_TYPE_INNER_JOIN1无ADVANCED_JOIN_TYPE_LEFT_JOIN2无ADVANCED_JOIN_TYPE_RIGHT_JOIN3无ADVANCED_JOIN_TYPE_FULL_JOIN4无ADVANCED_JOIN_TYPE_DIFFERENCE5无 ADVANCED_JOIN_TYPE_UNSPECIFIED0无 ADVANCED_JOIN_TYPE_UNSPECIFIED ADVANCED_JOIN_TYPE_UNSPECIFIED 0 0 无 无 ADVANCED_JOIN_TYPE_INNER_JOIN1无 ADVANCED_JOIN_TYPE_INNER_JOIN ADVANCED_JOIN_TYPE_INNER_JOIN 1 1 无 无 ADVANCED_JOIN_TYPE_LEFT_JOIN2无 ADVANCED_JOIN_TYPE_LEFT_JOIN ADVANCED_JOIN_TYPE_LEFT_JOIN 2 2 无 无 ADVANCED_JOIN_TYPE_RIGHT_JOIN3无 ADVANCED_JOIN_TYPE_RIGHT_JOIN ADVANCED_JOIN_TYPE_RIGHT_JOIN 3 3 无 无 ADVANCED_JOIN_TYPE_FULL_JOIN4无 ADVANCED_JOIN_TYPE_FULL_JOIN ADVANCED_JOIN_TYPE_FULL_JOIN 4 4 无 无 ADVANCED_JOIN_TYPE_DIFFERENCE5无 ADVANCED_JOIN_TYPE_DIFFERENCE ADVANCED_JOIN_TYPE_DIFFERENCE 5 5 无 无 "],[63,"默认日志记录的等级，默认为 info，支持以下等级： \ntrace: SPDLOG_LEVEL_TRACE\ndebug: SPDLOG_LEVEL_DEBUG\ninfo: SPDLOG_LEVEL_INFO\nwarn: SPDLOG_LEVEL_WARN\nerr: SPDLOG_LEVEL_ERROR\ncritical: SPDLOG_LEVEL_CRITICAL\noff: SPDLOG_LEVEL_OFF\n trace: SPDLOG_LEVEL_TRACE debug: SPDLOG_LEVEL_DEBUG info: SPDLOG_LEVEL_INFO warn: SPDLOG_LEVEL_WARN err: SPDLOG_LEVEL_ERROR critical: SPDLOG_LEVEL_CRITICAL off: SPDLOG_LEVEL_OFF 数据域类型描述logging_level string无trace_path string追踪的路径，默认为 /tmp/psi.trace 数据域类型描述 数据域类型描述 数据域 数据域 类型 类型 描述 描述 logging_level string无trace_path string追踪的路径，默认为 /tmp/psi.trace logging_level string无 logging_level logging_level  string  string  string  string 无 无 trace_path string追踪的路径，默认为 /tmp/psi.trace trace_path trace_path  string  string  string  string 追踪的路径，默认为 /tmp/psi.trace 追踪的路径，默认为 /tmp/psi.trace  "]],"type":"string"},"type":{"docs":{"1":0,"2":1,"3":2,"4":3,"5":4,"6":5,"7":6,"8":7,"9":8,"10":9,"11":10,"12":11,"13":12,"14":13,"15":14,"16":15,"17":16,"18":17,"19":18,"20":19,"21":20,"22":21,"23":22,"24":23,"25":24,"26":25,"27":26,"28":27,"29":28,"30":29,"31":30,"32":31,"33":32,"34":33,"35":34,"36":35,"37":36,"38":37,"39":38,"40":39,"41":40,"42":41,"43":42,"44":43,"45":44,"46":45,"47":46,"48":47,"49":48,"50":49,"51":50,"52":51,"53":52,"54":53,"55":54,"56":55,"57":56,"58":57,"59":58,"60":59,"61":60,"62":61,"63":62,"64":63,"65":64,"66":65,"67":66,"68":67,"69":68,"70":69,"71":70,"72":71,"73":72,"74":73,"75":74,"76":75,"77":76,"78":77,"79":78,"80":79,"81":80,"82":81,"83":82,"84":83,"85":84,"86":85,"87":86,"88":87,"89":88,"90":89,"91":90,"92":91,"93":92,"94":93,"95":94,"96":95,"97":96,"98":97,"99":98,"100":99,"101":100,"102":101,"103":102,"104":103,"105":104,"106":105,"107":106,"108":107,"109":108,"110":109,"111":110,"112":111,"113":112,"114":113,"115":114,"116":115,"117":116,"118":117,"119":118,"120":119,"121":120,"122":121,"123":122,"124":123,"125":124,"126":125,"127":126,"128":127,"129":128,"130":129,"131":130,"132":131,"133":132,"134":133,"135":134,"136":135,"137":136,"138":137,"139":138,"140":139,"141":140,"142":141,"143":142,"144":143,"145":144,"146":145,"147":146,"148":147,"149":148,"150":149,"151":150,"152":151,"153":152,"154":153,"155":154,"156":155,"157":156,"158":157,"159":158,"160":159,"161":160,"162":161,"163":162,"164":163,"165":164,"166":165,"167":166},"orderedDocs":[[1,"fragment"],[2,"fragment"],[3,"fragment"],[4,"fragment"],[5,"fragment"],[6,"fragment"],[7,"fragment"],[8,"fragment"],[9,"fragment"],[10,"fragment"],[11,"fragment"],[12,"fragment"],[13,"fragment"],[14,"fragment"],[15,"fragment"],[16,"fragment"],[17,"fragment"],[18,"fragment"],[19,"fragment"],[20,"fragment"],[21,"fragment"],[22,"fragment"],[23,"fragment"],[24,"fragment"],[25,"fragment"],[26,"fragment"],[27,"fragment"],[28,"fragment"],[29,"fragment"],[30,"fragment"],[31,"fragment"],[32,"fragment"],[33,"fragment"],[34,"fragment"],[35,"fragment"],[36,"fragment"],[37,"fragment"],[38,"fragment"],[39,"fragment"],[40,"fragment"],[41,"fragment"],[42,"fragment"],[43,"fragment"],[44,"fragment"],[45,"fragment"],[46,"fragment"],[47,"fragment"],[48,"fragment"],[49,"fragment"],[50,"fragment"],[51,"fragment"],[52,"fragment"],[53,"fragment"],[54,"fragment"],[55,"fragment"],[56,"fragment"],[57,"fragment"],[58,"fragment"],[59,"fragment"],[60,"fragment"],[61,"fragment"],[62,"fragment"],[63,"fragment"],[64,"fragment"],[65,"fragment"],[66,"fragment"],[67,"fragment"],[68,"fragment"],[69,"fragment"],[70,"fragment"],[71,"fragment"],[72,"fragment"],[73,"fragment"],[74,"fragment"],[75,"fragment"],[76,"fragment"],[77,"fragment"],[78,"fragment"],[79,"fragment"],[80,"fragment"],[81,"fragment"],[82,"fragment"],[83,"fragment"],[84,"fragment"],[85,"fragment"],[86,"fragment"],[87,"fragment"],[88,"fragment"],[89,"fragment"],[90,"fragment"],[91,"fragment"],[92,"fragment"],[93,"fragment"],[94,"fragment"],[95,"fragment"],[96,"fragment"],[97,"fragment"],[98,"fragment"],[99,"fragment"],[100,"fragment"],[101,"fragment"],[102,"fragment"],[103,"fragment"],[104,"fragment"],[105,"fragment"],[106,"fragment"],[107,"fragment"],[108,"fragment"],[109,"fragment"],[110,"fragment"],[111,"fragment"],[112,"fragment"],[113,"fragment"],[114,"fragment"],[115,"fragment"],[116,"fragment"],[117,"fragment"],[118,"fragment"],[119,"fragment"],[120,"fragment"],[121,"fragment"],[122,"fragment"],[123,"fragment"],[124,"fragment"],[125,"fragment"],[126,"fragment"],[127,"fragment"],[128,"fragment"],[129,"fragment"],[130,"fragment"],[131,"fragment"],[132,"fragment"],[133,"fragment"],[134,"fragment"],[135,"fragment"],[136,"fragment"],[137,"fragment"],[138,"fragment"],[139,"fragment"],[140,"fragment"],[141,"fragment"],[142,"fragment"],[143,"fragment"],[144,"fragment"],[145,"fragment"],[146,"fragment"],[147,"fragment"],[148,"fragment"],[149,"fragment"],[150,"fragment"],[151,"fragment"],[152,"fragment"],[153,"fragment"],[154,"fragment"],[155,"fragment"],[156,"fragment"],[157,"fragment"],[158,"fragment"],[159,"fragment"],[160,"fragment"],[161,"fragment"],[162,"fragment"],[163,"fragment"],[164,"fragment"],[165,"fragment"],[166,"fragment"],[167,"fragment"]],"type":"string"},"symbol.domain":{"docs":{},"orderedDocs":[],"type":"string"},"symbol.name":{"docs":{},"orderedDocs":[],"type":"string"},"symbol.module":{"docs":{},"orderedDocs":[],"type":"string"}},"enabled":true,"isSorted":true},"language":"english"}