Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
なめらかなシステムの実現に向けて/coherently-fittable-system
Search
monochromegane
July 28, 2020
Technology
0
540
なめらかなシステムの実現に向けて/coherently-fittable-system
GMO Developers Day 2020
https://www.gmo.jp/developersday/
monochromegane
July 28, 2020
Tweet
Share
More Decks by monochromegane
See All by monochromegane
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
160
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
580
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
320
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
1
670
Go言語でMac GPUプログラミング
monochromegane
1
430
Contextual and Nonstationary Multi-armed Bandits Using the Linear Gaussian State Space Model for the Meta-Recommender System
monochromegane
1
860
迅速な学習機構を用いて逐次適応性を損なうことなく非線形性を扱う文脈付き多腕バンディット手法/extreme_neural_linear_bandits
monochromegane
0
2k
再帰化への認知的転回/the-turn-to-recursive-system
monochromegane
0
730
仮想的な探索を用いて文脈や時間の経過による番狂わせにも迅速に追従する多腕バンディット手法/wi2_lkf_bandits
monochromegane
0
670
Other Decks in Technology
See All in Technology
データパイプラインをなんとかした話 / Improving the Data Pipeline in IVRy
mirakui
1
330
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
300
Postman と API セキュリティ / Postman and API Security
yokawasa
0
180
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
360
OCI Oracle Database Services新機能アップデート(2024/09-2024/11)
oracle4engineer
PRO
0
110
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
660
KubeCon NA 2024 Recap: Managing and Distributing AI Models Using OCI Standards and Harbor / Kubernetes Meetup Tokyo #68
pfn
PRO
0
220
OpsJAWS32 re:Invent 2024 Ops系アップデートまとめ
takahirohori
0
190
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
180
GPTsで模擬問題生成して資格対策してみる
hsg_alf
2
120
ニューモーフィズムってどうなの
toridori_dev
0
110
職能を超えたモブプログラミングが品質に与えた良い影響
tonionagauzzi
2
340
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
40
7.1k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
The Language of Interfaces
destraynor
154
24k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Faster Mobile Websites
deanohume
305
30k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Become a Pro
speakerdeck
PRO
26
5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Designing for Performance
lara
604
68k
Transcript
ࡾ༔հ / Pepabo R&D Institute, GMO Pepabo, Inc. 2020.07.28 GMO
Developers Day ͳΊΒ͔ͳγεςϜͷ ࣮ݱʹ͚ͯ
1SJODJQBMFOHJOFFS :VTVLF.*:",&!NPOPDISPNFHBOF 1FQBCP3%*OTUJUVUF (.01FQBCP *OD IUUQTCMPHNPOPDISPNFHBOFDPN
1. ͡Ίʹ 2. ͳΊΒ͔ͳγεςϜ 3. ͳΊΒ͔ͳγεςϜͷ࣮ݱʹ͚ͯ 4. ·ͱΊ 3 ࣍
1. ͡Ίʹ
5 ϖύϘݚڀॴ(ུশʮϖύݚʯ)ɺࣄۀΛࠩผԽ Ͱ͖Δٕज़Λ࡞Γग़ͨ͢ΊʹʮͳΊΒ͔ͳγες Ϝʯͱ͍͏ίϯηϓτͷԼͰݚڀ։ൃʹऔΓΉ ৫Ͱ͢ɻ ❝ ϖύϘݚڀॴʹ͍ͭͯ http://rand.pepabo.com/
6 ΞΧσϛοΫͳਫ४ʹ͓͚Δ৽نੑɾ༗ޮੑɾ৴ པੑΛٻ͢ΔݚڀΛߦ͏ͱͱʹɺݚڀ։ൃ͠ ٕͨज़Λ࣮ࡍͷγεςϜͱ࣮ͯ͠ɾఏڙ͢Δ͜ ͱΛ௨ͯ͠ɺࣄۀͷʹߩݙ͠·͢ɻ ❝ ϖύϘݚڀॴʹ͍ͭͯ http://rand.pepabo.com/
7 ϖύݚͱαʔϏεͷؔ ࣄۀΛࠩผԽ͢ΔͨΊʹɺݚڀॴͱαʔϏεͷ࿈ܞ͕ॏཁ ݚڀ ։ൃ ӡ༻ αʔϏεͷ՝ͷڞ༗ ݚڀʹΑΔ՝ղܾ ݚڀՌಋೖ࣌ͷ αʔϏεͱͷ࿈ܞ
ݚڀ։ൃ݁ՌΛଈ࣌αʔϏεʹಋೖ͢ΔΈͱɺಋೖޙͷϑΟʔυόοΫʹΑΔαΠΫϧͷߴ ԽʹΑͬͯɺݚڀ։ൃͷߴԽͱࣄۀͷࠩผԽʹͭͳ͛Δ ࣄۀ෦
2. ͳΊΒ͔ͳγεςϜ
9 ϖύϘݚڀॴ(ུশʮϖύݚʯ)ɺࣄۀΛࠩผԽ Ͱ͖Δٕज़Λ࡞Γग़ͨ͢ΊʹʮͳΊΒ͔ͳγες Ϝʯͱ͍͏ίϯηϓτͷԼͰݚڀ։ൃʹऔΓΉ ৫Ͱ͢ɻ ❝ ϖύϘݚڀॴʹ͍ͭͯ http://rand.pepabo.com/
• զʑ͕ৗͰ৮ΕΔγεςϜɺར༻ӡ༻ʹ͓͚Δ༷ʑͳোนʢΰπΰπʣ ʹຬͪ͋;Ε͍ͯΔɻ • → ྫʣར༻ऀͷ໌ࣔతͳࢦࣔɺӡ༻ऀͷஅߋ৽ͷհࡏ 10 എܠ • ͜ΕΒͷোนΛऔΓআ͖ɺར༻ӡ༻ͷշద͞ͷ্ʹͭͳ͛ΔͨΊʹɺར༻
ऀͷίϯςΩετʹج͖ͮ࠷దʹৼΔ͏ʮͳΊΒ͔ͳγεςϜʯΛ࣮ݱ͢ Δɻ
• ʮͳΊΒ͔ͳγεςϜʯͱɺใγεςϜͷ͜ͱΛ͍͏ͷΈͳΒͣɺޓ͍ʹ ӨڹΛٴ΅͠߹͏ܧଓతͳؔʹ͋Δར༻ऀʢϢʔβʔ͓Αͼ։ൃӡ༻ऀʣͱ ใγεςϜͱ͔ΒͳΔ૯ମͱͯ͠ͷγεςϜ 11 ͳΊΒ͔ͳγεςϜ <>܀ྛ݈ଠ ࡾ༔հ দຊ྄հ ͳΊΒ͔ͳγεςϜΛࢦͯ͠
ϚϧνϝσΟΞɺࢄɺڠௐͱϞόΠϧʢ%*$0.0ʣγϯϙδϜ # +VM < ><> < >υϛχΫɾνΣϯ(SBQIJDTGPS'VOEBNFOUBM*OGPSNBUJDTΛվมͯ͠࡞
1. ར༻ऀͱใγεςϜͱ͕ܧଓతͳؔΛऔΓ࣋ͭաఔʹ͓͍ͯɺར༻ऀͦ ΕͧΕʹݻ༗ͷίϯςΩετΛݟग़ͨ͠Γɺ৽ͨͳίϯςΩετΛग़ͨ͠ ΓͰ͖Δ͜ͱ 2. ཁ݅1.Λɺར༻ऀʹΑΔ໌ࣔతͳૢ࡞Λ՝͢͜ͱͳ࣮͘ݱͰ͖Δ͜ͱ 3. ཁ݅1.͓Αͼ2.ʹΑͬͯಘΒΕͨίϯςΩετʹج͖ͮɺใγεςϜ͕ར ༻ऀʹରͯ͠࠷దͳαʔϏεΛࣗಈతʹఏڙͰ͖Δ͜ͱ 12
ͳΊΒ͔ͳγεςϜͷཁ݅ • ࣗಈ͔ͭܧଓతʹར༻ऀͷঢ়گΛѲ͠ɺదԠతʹৼΔ͏ใγεςϜ
• ͳΊΒ͔ͳγεςϜΛ࣮ݱ͢ΔͨΊɺ༷ʑͳαʔϏεɺϨΠϠʹ͓͍ͯҎԼͷ ςʔϚͷͱɺݚڀ։ൃΛਐΊ͍ͯΔ[*] • FastContainer: ԠతͰঢ়ଶมԽͷૉૣ͍γεςϜج൫ٕज़ • ΦʔτεέʔϦϯά: ଟڥͰͷӡ༻ੑΛߟྀͨࣗ͠దԠܕ੍ޚܥ •
ͳΊΒ͔ͳϚονϯά: จ຺ʹԠͨ͡ਪનख๏ͷ࠷దԽ • ߦಈݕ: ଟ໘తͳಛྔʹجͮ͘ਫ਼៛ͳߦಈੳ • ͳΊΒ͔ͳηΩϡϦςΟ: ಁաతͳηΩϡϦςΟ্Λ࣮ݱ͢Δ։ൃख๏ 13 ͳΊΒ͔ͳγεςϜʹ͚ͯ < >ϖύϘݚڀॴݚڀ։ൃՌIUUQTSBOEQFQBCPDPNBSDIJWF
3. ͳΊΒ͔ͳγεςϜͷ࣮ݱʹ͚ͯ
ݚڀίϯηϓτ - ใγεςϜͷࣗదԠ -
• ଟ༷͔ͭܧଓతʹมԽ͢ΔڥͷதͰɺใγεςϜ͕ܧଓతʹػೳ͢Δʹ ɺͦͷߏϩδοΫΛߋ৽͠มԽʹै͢Δඞཁ͕͋Δ • → ྫʣใγεςϜͷෛՙঢ়گɺར༻ऀͷߦಈͷมԽ • ͜Ε·Ͱɺ͜ͷैɺӡ༻ҡ࣋ۀͱͯ͠ӡ༻ऀ͕୲͖ͬͯͨ 16 ใγεςϜͱڥมԽ
• ଟ༷͔ͭܧଓతʹมԽ͢ΔڥͷதͰɺใγεςϜ͕ܧଓతʹػೳ͢Δʹ ɺͦͷߏϩδοΫΛߋ৽͠มԽʹै͢Δඞཁ͕͋Δ • → ྫʣใγεςϜͷෛՙঢ়گɺར༻ऀͷߦಈͷมԽ • ͜Ε·Ͱɺ͜ͷैɺӡ༻ҡ࣋ۀͱͯ͠ӡ༻ऀ͕୲͖ͬͯͨ 17 ใγεςϜͱڥมԽ
• ਓखʹΑΔڥͷมԽݕใγεςϜͷߋ৽ɺैͷ࣌ؒࠩΛ͏ • ݁Ռͱͯ͠ɺ҆ఆੑར༻ऀͷຬͷԼɺӡ༻ऀͷෛ୲ͷ૿ՃΛট͘
• ैདྷͷӡ༻ҡ࣋ͷऔΓΈͰɺใγεςϜΛڥͷมԽʹରԠͤ͞Δͨ ΊɺਓʹΑΔܦݧଇஅͱ෦తͳࣗಈԽʹཹ·͍ͬͯΔ • → ྫʣܦݧଇʹΑΔᮢઃఆɺԽͨ͠ར༻ऀͷߦಈୡʹΑΔஅ 18 ڥมԽʹࣗΒదԠ͢ΔใγεςϜʹ͚ͯ • ਓʹΑΔஅߋ৽ͷఔΛࣗಈԽ͠ɺใγεςϜࣗମ͕ڥมԽΛଊ͑ม
Խʹै͢ΔదԠతͳΈͷݚڀ • ͳΒͼʹ࣮ӡ༻ͷద༻ ݚڀίϯηϓτ
ΦʔτεέʔϦϯάख๏
• ใγεςϜͷӡ༻ʹ͓͍ͯɺॲཧੑೳΛอͪͭͭඞཁ࠷খݶͷαʔόΛ༻͍ Δ͜ͱͰӡ༻ίετΛ੍ޚ͢Δ͜ͱॏཁ • มಈ͢Δαʔόधཁʹै͢ΔͨΊΦʔτεέʔϦϯάػೳΛಋೖ 20 എܠ • ॲཧੑೳΛอͭඞཁ࠷খݶͷαʔόܦݧͱಓͳνϡʔχϯάͰݸผʹ ٻΊΔ͕ɺใγεςϜͷมߋཧରͷ૿Ճʹै͍ࠔʹͳΔ
• ·ͨɺͷࢉग़ʹΦʔτεέʔϦϯάͷ࣮ߦ࣌ͷ࣌ؒࠩͷߟྀඞཁ ӡ༻্ͷ՝
• ܧଓతʹมߋ͞Ε͏ΔෳͷใγεςϜʹରͯ͠ɺΕߟྀͨ͠Φʔτε έʔϦϯάͷ࠷దͳ݅Λܧଓͯ͠ٻΊΔ͜ͱ͕ӡ༻ͷෛ୲ • ใγεςϜΛߏ͢ΔαʔόͷॲཧੑೳΛࣗಈͰѲ͠ɺใγεςϜͷॲ ཧੑೳΛอͭඞཁ࠷খݶ͔ͭΕΛߟྀͨ͠αʔόΛࢉग़͍ͨ͠ • αʔόͷॲཧੑೳΛ࣮ߦ࣌ʹࣗಈ͔ͭܧଓతʹਪఆ͠ɺΦʔτεέʔϦϯάͷ Εߟྀͨ͠࠷దͳαʔόΛࢉग़͢Δ੍ޚܥ 21
ݚڀͷతͱఏҊͷࠎࢠ
• ଟڥͰͷӡ༻ੑΛߟྀͨࣗ͠దԠܕΦʔτεέʔϦϯά੍ޚܥ[2] 22 ఏҊख๏ (Kaburaya AutoScaler) <>ࡾ༔հ ܀ྛ݈ଠ ,BCVSBZB"VUP4DBMFSଟڥͰͷӡ༻ੑΛߟྀͨࣗ͠దԠܕΦʔτεέʔϦϯά੍ޚܥ Πϯλʔωο
τͱӡ༻ٕज़γϯϙδϜจू QQ /PW
• ଟڥͰͷӡ༻ੑΛߟྀͨࣗ͠దԠܕΦʔτεέʔϦϯά੍ޚܥ • M: αʔόॲཧੑೳΛɺ୯Ґ࣌ؒ͋ͨΓͷॲཧͷ্ݶ͔ΒٻΊΔ • D: ༧ΊఆΊͨΕظؒʹର͠ɺݱࡏͷཁٻॲཧͱαʔόॲཧੑೳ͔Βෆ ͢Δͱߟ͑ΒΕΔະॲཧཁٻΛٻΊΔ •
F: ݱࡏͷॲཧཁٻʹະॲཧཁٻΛՃ͑ɺαʔόॲཧੑೳ͔Βඞཁͳ αʔόΛࢉग़ 23 ఏҊख๏ (Kaburaya AutoScaler)
24 ఏҊख๏ͷධՁʢγϛϡϨʔγϣϯʣ αʔόੑೳʢॲཧ্ݶʣͷਪఆධՁ ෛՙ࣌Ұ࣌తʹαʔό͋ͨΓͷෛՙ͕ߴ·Δෛ ՙ૿Ճ࣌Ͱ҆ఆͯ͠ਪఆʢ࣮ઢʣɻ αʔόͷैੑධՁ ੨ઢͷཧαʔόʹैɻΕΛߟྀ͠ɺఆ͞ ΕΔະॲཧͷཁٻΛॲཧՄೳͳαʔόΛೖɻ ະॲཧཁٻͷղফ݁ՌͷධՁ ΕʹΑΓੵ࣮ͨ͠ઢͷະॲཧཁٻΛଈ࣌ղফɻ
ഁઢΕରࡦΛ͠ͳ͍߹ͷਪҠɻ
ਪનγεςϜ
26 എܠ • ใγεςϜʹ͓͚ΔใաଟΛղܾ͢ΔɺਪનγεςϜͷಋೖ • → ͳΜΒ͔ͷํࡦʢ= ਪનख๏ʣʹج͖ͮଟͷબࢶ͔Βར༻ऀ͕ڵຯ Λ࣋ͭͷΛఏҊ͢ΔγεςϜ •
ӡ༻ऀʹͱͬͯɺޮՌతͳʮਪનख๏ʯͷબ͕ॏཁ • ޮՌతͳਪનख๏ঢ়گʹΑͬͯҟͳΔ • ͔͠͠ͳ͕Βɺ࣮ڥͰͷܧଓతͳਪનख๏ͷධՁʹػձଛࣦ͕͏ ӡ༻্ͷ՝
• ਪનख๏ͷ༏ྼଟ͘ͷཁҼ͔ΒͳΔঢ়گʢ=จ຺ʣʹΑͬͯࠨӈ͞ΕΔ • ޮՌతͳਪનख๏Λػձଛࣦ͕ͳ͍Α͏ʹจ຺ʹԠ͍͚͍ͯͨ͡ • ࣄલʹఆΊͨจ຺͝ͱʹਪનख๏ͷબΛࣗಈ͔ͭܧଓతʹ࠷దԽ͢Δ ϝλਪનγεςϜ • → ࠷ળͳਪનख๏ͷબΛଟόϯσΟοτͱΈͳͯ͠ղ͘
27 ݚڀͷతͱఏҊͷࠎࢠ
• ʮʯͱݺΕΔෳͷީิ͔ΒಘΒΕΔใुΛ࠷େԽ͢Δ • ϓϨΠϠʔҰͷࢼߦͰ1ͭͷΛબ͠ɺใुΛಘΔ • ͦΕͧΕͷ͋Δใुʹै͍ใुΛੜ • ͨͩ͠ɺϓϨΠϠʔ͜ͷใुΛࢼߦͷ݁Ռ͔Βਪଌ͢Δඞཁ͕͋Δ 28 ଟόϯσΟοτ
• ϓϨΠϠʔ͋Δ࣌ͷͷධՁʹج͖ͮʮ׆༻ʯͱʮ୳ࡧʯΛฒߦͯ͠ߦ͏ • ͜ͷτϨʔυΦϑΛղফ͢ΔͨΊʹ༷ʑͳղ๏͕ఏҊ͞Ε͍ͯΔ
ଟόϯσΟοτͱͷใुͷ֬ 29 Arm0 Arm1 Arm2 User(s) System ਪఆͨ֬͠ ਅͷ֬ Recommend
Click
• จ຺͝ͱʹਪનख๏ͷબΛࣗಈ͔ͭܧଓతʹ࠷దԽ͢ΔϝλਪનγεςϜ[3] • จ຺͝ͱͷ࠷ળͳબΛɺઢܗͳଟόϯσΟοτͷղ๏Ͱ͋Δ Linear Thompson SamplingΛ༻͍ͯղ͘ • จ຺ͱͯ͠ɺᶃใγεςϜͷ࣌ؒͷܦաɺᶄਪનରͷಛੑͷࠩҟΛ ѻ͏
• จ຺͝ͱʹબͨ͠ਪનख๏ͱ͜Εʹର͢Δར༻ऀͷԠΛه͠ɺબ ͷվળʹ༻͍Δ 30 ఏҊγεςϜ (Synapse) <>ࡾ༔հ ็߃ݑ 4ZOBQTFจ຺ʹԠͯ͡ܧଓతʹਪનख๏ͷબΛ࠷దԽ͢ΔਪનγεςϜ ిࢠใ௨৴ֶձจࢽ% 7PM+% /P QQ /PW UPBQQFBS
31 ఏҊγεςϜ (Synapse)
• ࣮αʔϏεͷӡ༻σʔλΛ༻͍ͨγϛϡϨʔγϣϯʹ͓͍ͯɺจ຺Λߟྀ͠ͳ ͍ͷͱൺֱͯ͠ɺྦྷੵΫϦοΫ͕2%্͢Δ͜ͱΛ֬ೝ[3] • ֘γεςϜ࣮αʔϏεͰՔಇɾܧଓతʹධՁத • ࠓޙɺऔΓѻ͑Δจ຺ɺਪનख๏Λ͍͛ͯ͘[4][5] • ߹ΘͤͯɺڥมԽͷैੑΛ্͍ͤͯ͘͞[6] 32
ఏҊγεςϜͷධՁ <>ࡒେՆɼࡾ༔հɼ&$αΠτʹ͓͚ΔӾཡཤྺΛ༻͍ͨߪങʹܨ͕ΔߦಈͷมԽݕग़ɼݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ *05 ɼ WPM*05ɼQQrɼ <>ଜ໋ɼࡾ༔հɼϋϯυϝΠυ࡞Λରͱͨ͠&$αΠτʹ͓͚Δ୯ޠͷग़ݱසΛ༻͍ͨك᧵ͷݕग़ɼݚڀใࠂΠϯλʔ ωοτͱӡ༻ٕज़ *05 ɼWPM*05ɼQQrɼ <>ࡾ༔հɼ܀ྛ݈ଠɼඇఆৗͳଟόϯσΟοτʹ͓͚ΔมԽݕग़ΞϓϩʔνͷઢܗϞσϧͷ֦ுɼݚڀใࠂΠϯλʔωο τͱӡ༻ٕज़ *05 ɼWPM*05ɼQQrɼ+VMZ
4. ·ͱΊ
• ར༻ऀͷίϯςΩετʹج͖ͮ࠷దʹৼΔ͏ʮͳΊΒ͔ͳγεςϜʯΛհ ͨ͠ • ͜ͷ࣮ݱʹ͚ͨݚڀࣄྫͱͯ͠ɺଟڥͰͷӡ༻ੑΛߟྀͨ͠Φʔτεέʔ Ϧϯά੍ޚܥΛհͨ͠ • ݚڀͳΒͼʹαʔϏεͷಋೖࣄྫͱͯ͠ɺจ຺ʹԠͨ͡ਪનख๏ͷ࠷దԽΛ ߦ͏ਪનγεςϜΛհͨ͠ •
ࠓޙɺ͜ΕΒΛؚΊͨݚڀ։ൃͷҰͷൃలΛ௨ͯ͠ʮͳΊΒ͔ͳγες ϜʯΛ࣮ݱ͍ͯ͘͠ 34 ·ͱΊ
ݚڀһɺੵۃతʹืूதʂ https://rand.pepabo.com/
ิࢿྉ
• ͝ͱʹෳͷจ຺͕͋Γɺจ຺ʹԠͯ͡ใु͕ܾ·ΔଟόϯσΟοτ ͷઃఆ • ຊݚڀใࠂͰɺจ຺ɺෳͷཁҼͷύϥϝʔλͷΈ߹ΘͤͰදݱ͞ Εͨঢ়ଶͷ͜ͱΛࢦ͢ • → ཁҼύϥϝʔλͷ͕{0,1}ͷ߹ɺจ຺ཁҼ ʹରͯ͠
ύλʔϯ d 2d 37 ઢܗͳଟόϯσΟοτ • ઢܗͳଟόϯσΟοτͷղ๏Ͱɺจ຺ͷ֬Ͱͳ͘ɺཁҼ͝ͱ ͷʢઢܗύϥϝʔλʣΛਪఆ͢Δ͜ͱͰ֤จ຺ʹ͓͚ΔใुΛ༧͢Δ
ઢܗͳଟόϯσΟοτ 38 Arm0 Arm1 Arm2 User(s) System ਪఆͨ֬͠ ਅͷ֬ Recommend
Click Context = 0 Context = 0
ઢܗͳଟόϯσΟοτ 39 Arm0 Arm1 Arm2 User(s) System ਪఆͨ֬͠ ਅͷ֬ Recommend
Click Context = 1 Context = 1