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
UIKitのAPI Diffから見る Safe Area - iOS LT #32
Search
kazuhiro4949
October 26, 2017
Technology
8
1.3k
UIKitのAPI Diffから見る Safe Area - iOS LT #32
Safe Area関連のAPIをUIKitから抽出してきたもの
kazuhiro4949
October 26, 2017
Tweet
Share
More Decks by kazuhiro4949
See All by kazuhiro4949
SwiftUIをUIKitのライフサイクルで拡張するTips
kazuhiro4949
4
2.6k
iOS15でプッシュ通知のテストが大変だった話
kazuhiro4949
0
570
Source Editor Extensionと SwiftSyntaxでコード自動生成ツール を作る
kazuhiro4949
2
3.7k
iOS 12サポート終了で使えるAPIおさらい
kazuhiro4949
2
330
Source Editor ExtensionとSwiftSyntaxでコード自動生成
kazuhiro4949
0
75
大企業の最前線でコードを書き続けるためにやってきたこと
kazuhiro4949
28
19k
10分で振り返るここ数年のWWDCの技術トレンド
kazuhiro4949
0
280
コードを書きながら同時に設計していくためのiOSアプリ開発方針
kazuhiro4949
6
2.6k
身近な技術的課題から始めるOSSプロジェクト
kazuhiro4949
0
280
Other Decks in Technology
See All in Technology
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
130
組織貢献をするフリーランスエンジニアという生き方
n_takehata
2
1.3k
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
2k
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
720
クラウドサービス事業者におけるOSS
tagomoris
2
860
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
220
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
1.1k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.6k
Larkご案内資料
customercloud
PRO
0
650
RSNA2024振り返り
nanachi
0
590
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
18
6.9k
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Automating Front-end Workflow
addyosmani
1368
200k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Thoughts on Productivity
jonyablonski
69
4.5k
Transcript
6*,JUͷ"1*%J⒎͔ΒݟΔ 4BGF"SFB ,B[VIJSP)":"4)* J04-5
4BGF"SFBͱ wJ04͔Βͷػೳ w7JFXͷத͕දࣔ͞ ΕΔ͜ͱΛอূͯ͠ ͍ΔྖҬ wJ1IPOF9Ͱ)PNF *OEJDBUPS4FOTPS )PVTJOHͱίϯςϯ π͕ඃΒͳ͍Α͏ʹ ઃఆ͞ΕΔ
IUUQTEFWFMPQFSBQQMFDPNJPTIVNBOJOUFSGBDFHVJEFMJOFTPWFSWJFXJQIPOFY
ΞδΣϯμ 6*,JUͷ4BGF"SFBؔ࿈ͷมߋΛௐࠪ͢Δ ΠϕϯτΛ࣮ࡍʹ৮ͬͯΈͯɺ4BGF"SFBͷϨΠΞτ ͷӨڹΛௐࠪ͢Δ
ํ๏ 6*,JU͕࣋ͭ"1*ͷJ04ʙJ04ؒͷ%J⒎Λ͏ l4BGF"SFBl lMBZPVU.BSHJOl lJOTFUTlลΓͷΩʔϫʔυ Ͱԣஅతʹݕࡧ υΩϡϝϯτʹ4BGF"SFBʹؔ͢Δهड़͕͋Εࢼͯ͠
ΈΔ
IUUQDPEFXPSLTIPQOFUPCKDEJ⒎TELEJ⒎TJPT
4BGF"SFBؔ࿈ͷ%J⒎ 6*7JFXTBGF"SFB*OTFUT 6*7JFXTBGF"SFB-BZPVU(VJEF 6*7JFXJOTFUT-BZPVU.BSHJO'PS4BGF"SFB 6*7JFXEJSFDUJPOBM-BZPVU.BSHJOT 6*7JFXTBGF"SFB*OTFUT%JE$IBOHF 6*7JFX$POUSPMMFSBEEJUJPOBM4BGF"SFB*OTFUT 6*7JFX$POUSPMMFSWJFX4BGF"SFB*OTFUT%JE$IBOHF
6*4DSPMM7JFXDPOUFOU*OTFU"EKVTUNFOU#FIBWJPS 6*4DSPMM7JFXBEKVTUFE$POUFOU*OTFU 6*4DSPMM7JFXTDSPMM7JFX%JE$IBOHF"EKVTUFE$POUFOU*OTFU @ 6*5BCMF7JFXJOTFUT$POUFOU7JFXT5P4BGF"SFB 6*$PMMFDUJPO7JFX'MPX-BZPVUTFDUJPO*OTFU3FGFSFODF
4BGF"SFBؔ࿈ͷ%J⒎ 6*7JFXTBGF"SFB*OTFUT 6*7JFXTBGF"SFB-BZPVU(VJEF 6*7JFXJOTFUT-BZPVU.BSHJO'PS4BGF"SFB 6*7JFXEJSFDUJPOBM-BZPVU.BSHJOT 6*7JFXTBGF"SFB*OTFUT%JE$IBOHF 6*7JFX$POUSPMMFSBEEJUJPOBM4BGF"SFB*OTFUT 6*7JFX$POUSPMMFSWJFX4BGF"SFB*OTFUT%JE$IBOHF
6*4DSPMM7JFXDPOUFOU*OTFU"EKVTUNFOU#FIBWJPS 6*4DSPMM7JFXBEKVTUFE$POUFOU*OTFU 6*4DSPMM7JFXTDSPMM7JFX%JE$IBOHF"EKVTUFE$POUFOU*OTFU @ 6*5BCMF7JFXJOTFUT$POUFOU7JFXT5P4BGF"SFB 6*$PMMFDUJPO7JFX'MPX-BZPVUTFDUJPO*OTFU3FGFSFODF "1*
݁ߏ͋Δ
ͻͱͭͣͭݟ͍͖ͯ·͢
6*7JFX
TBGF"SFB*OTFUT w ࢠ7JFXΛӅͯ͠͠·͏ྖҬ /BWJHBUJPO#BS5BC#BS 4UBUVT#BS ͳͲ Λ6*&EHF*OTFUͷͱͯ֨͠ೲ w ͜ͷΛ͑J04తͳදࣔྖҬͷൣғʹࢠ7JFXΛऩΊΔ͜ͱ͕ Ͱ͖Δ
w 7JFXͷஔ͔Ε͍ͯΔॴʢ4BGF"SFBͳ͍͔Ͳ͏͔ʣʹΑͬͯ ͕มΘΔ
TBGF"SFB*OTFUT DMBTT4BGF"SFB*OTFUT7JFX$POUSPMMFS6*7JFX$POUSPMMFS\ !*#0VUMFUXFBLWBS@WJFX6*7JFX PWFSSJEFGVODWJFX%JE-PBE \ TVQFSWJFX%JE-PBE ^ PWFSSJEFGVODWJFX%JE-BZPVU4VCWJFXT
\ TVQFSWJFX%JE-BZPVU4VCWJFXT @WJFXGSBNF6*&EHF*OTFUT*OTFU3FDU WJFXCPVOET WJFXTBGF"SFB*OTFUT ^ ^
w TBGF"SFB*OTFUTΛ"VUP-BZPVUͰઃఆ͢Δ࣌ͷ-BZPVU(VJEF w 4UPSZCPBSEͰ4BGF"SFBΛѻ͏࣌͜Εʹର੍ͯ͠Λு͍ͬͯΔ TBGF"SFB-BZPVU(VJEF
TBGF"SFB-BZPVU(VJEF DMBTT4BGF"SFB-BZPVU(VJEF7JFX$POUSPMMFS6*7JFX$POUSPMMFS\ !*#0VUMFUXFBLWBS@WJFX6*7JFX PWFSSJEFGVODWJFX%JE-PBE \ TVQFSWJFX%JE-PBE @WJFXUSBOTMBUFT"VUPSFTJ[JOH.BTL*OUP$POTUSBJOUTGBMTF @WJFXUPQ"ODIPSDPOTUSBJOU
FRVBM5PWJFXTBGF"SFB-BZPVU(VJEFUPQ"ODIPS JT"DUJWFUSVF @WJFXCPUUPN"ODIPSDPOTUSBJOU FRVBM5PWJFXTBGF"SFB-BZPVU(VJEFCPUUPN"ODIPS JT"DUJWFUSVF @WJFXUSBJMJOH"ODIPSDPOTUSBJOU FRVBM5PWJFXTBGF"SFB-BZPVU(VJEFUSBJMJOH"ODIPS JT"DUJWFUSVF @WJFXMFBEJOH"ODIPSDPOTUSBJOU FRVBM5PWJFXTBGF"SFB-BZPVU(VJEFMFBEJOH"ODIPS JT"DUJWFUSVF ^
JOTFUT-BZPVU.BSHJOT'SPN4BGF"SFB w 4BGF"SFBͷൣғ֎ʹ͍Δ6*7JFXͷMBZPVU.BSHJOʹ4BGF"SFBͷ Λߟྀͤ͞ΔΑ͏ಇ͖͔͚Δ w σϑΥϧτUSVF w GBMTFʹ͢Δͱ4BGF"SFBΛߟྀͤͣʹɺࠓ·Ͱ௨Γઃఆ͞Εͨ MBZPVU.BSHJOͷ͕ΘΕΔ
JOTFUT-BZPVU.BSHJOT'SPN4BGF"SFB MBZPVU.BSHJOT 4BGF"SFB
JOTFUT-BZPVU.BSHJOT'SPN4BGF"SFB MBZPVU.BSHJOT DMBTT*OTFUT-BZPVU.BSHJO'SPN4BGF"SFB7JFX$POUSPMMFS6*7JFX$POUSPMMFS\ !*#0VUMFUXFBLWBS@WJFX6*7JFX PWFSSJEFGVODWJFX%JE-PBE \ TVQFSWJFX%JE-PBE WJFXJOTFUT-BZPVU.BSHJOT'SPN4BGF"SFBGBMTF
^ ^
͓·͚ EJSFDUJPOBM-BZPVU.BSHJOT w J04͔ΒMBZPVU.BSHJOTͰͳͬͪ͘͜Λ͏Β͍͠ w /4%JSFDUJPOBM&EHF*OTFUTͱ͍͏6*&EHF*OTFUTͬΆ͍ߏମ w MFGU SJHIUͷΘΓʹMFBEJOH
USBJMJOHͷΑ͏ʢͭ·Γݴޠґଘʣ w ઌఔͷJOTFUT-BZPVU.BSHJO'PS4BGF"SFBͷ͕USVFͰ͋Εɺ4BGF "SFBͷӨڹΛड͚Δ
TBGF"SFB*OTFUT%JE$IBOHF w 4BGF"SFBͷ͕ॻ͖Θͬ ͨΒݺΕΔ w ͦͷޙͰMBZPVU4VCWJFXT͕ ݺΕΔ TBGF"SFB*OTFUT%JE$IBOHF MBZPVU4VCWJFXT
6*7JFX$POUSPMMFS
BEEJUJPOBM4BGF"SFB*OTFUT w TBGF"SFB*OTFUTηοτͰ͖ͳ͍ͨΊɺಠࣗͰ4BGF"SFBΛఆٛ ͍ͨ͠߹͜ͷΛॻ͖͑Δ w ͜͜ೖΕ͕ͨݩʑͷTBGF"SFBʹ͞ΕΔܗͰೖΔ ্ॻ͖Ͱͳ ͍ w
σϑΥϧτ6*&EHF*OTFUT[FSP w /BWJHBUJPO#BS5BC#BSͳͲͷཁૉΛ࣋ͭίϯςφ7$ΛࣗલͰ࡞Γ ͍ͨ࣌ʹར༻
BEEJUJPOBM4BGF"SFB*OTFUT DMBTT4BGF"SFB*OTFUT7JFX$POUSPMMFS6*7JFX$POUSPMMFS\ !*#0VUMFUXFBLWBS@WJFX6*7JFX PWFSSJEFGVODWJFX%JE-PBE \ TVQFSWJFX%JE-PBE ^ PWFSSJEFGVODWJFX%JE-BZPVU4VCWJFXT
\ TVQFSWJFX%JE-BZPVU4VCWJFXT @WJFXGSBNF6*&EHF*OTFUT*OTFU3FDU WJFXCPVOET WJFXTBGF"SFB*OTFUT ^ ^
BEEJUJPOBM4BGF"SFB*OTFUT DMBTT4BGF"SFB*OTFUT7JFX$POUSPMMFS6*7JFX$POUSPMMFS\ !*#0VUMFUXFBLWBS@WJFX6*7JFX PWFSSJEFGVODWJFX%JE-PBE \ TVQFSWJFX%JE-PBE BEEJUJPOBM4BGF"SFB*OTFUT6*&EHF*OTFUT
UPQ MFGU CPUUPN SJHIU ^ PWFSSJEFGVODWJFX%JE-BZPVU4VCWJFXT \ TVQFSWJFX%JE-BZPVU4VCWJFXT @WJFXGSBNF6*&EHF*OTFUT*OTFU3FDU WJFXCPVOET WJFXTBGF"SFB*OTFUT ^ ^
WJFX4BGF"SFB*OTFUT%JE$IBOHF w WJFXͷTBGF"SFB*OTFUTͷ͕࣮ࡍ ʹೖΔλΠϛϯάͰݺΕΔ w WJFX8JMM"QQFBSͷͱ͖ʹ·ͩ TBGF"SFB*OTFUTͷೖ͍ͬͯͳ ͍༷ WJFX8JMM"QQFBS @
WJFX4BGF"SFB*OTFUT%JE$IBOHF VQEBUF7JFX$POTUSBJOUT WJFX8JMM-BZPVU4VCWJFXT
6*4DSPMM7JFX
DPOUFOU*OTFU"EKVTUNFOU#FIBWJPS w 6*7JFX$POUSPMMFSͷBVUPNBUJDBMMZ"EKVTUT4DSPMM7JFX*OTFUTʹΘΔϓϩ ύςΟ w TBGF"SFBΛߟྀͯ͠DPOUFOU*OTFUT͕ࣗಈతʹηοτ͞ΕΔ w BVUPNBUJD TDSPMMBCMF"YFT OFWFS
BMXBZTͷ̐ͭͷͷͲΕ͔ʹͳΔ w σϑΥϧτBVUPNBUJD
DPOUFOU*OTFU"EKVTUNFOU#FIBWJPS TDSPMM7JFXDPOUFOU*OTFU"EKVTUNFOU#FIBWJPSBMXBZT w6*4DSPMM7JFXͷதʹXJEUI͕ IFJHIU͕ͷ7JFX͕ೖ͍ͬͯΔ wDPOUFOU4J[Fதʹஔ͍͍ͯΔ7JFXͱಉ͡αΠζͱ͢Δ ͭ·ΓਨํͷΈεΫϩʔϧՄ w-BOETDBQFͰਨํҰ൪Լ·ͰεΫϩʔϧͨ࣌͠ʹϚʔδϯ͕Ͳ͏ͳΔ͔ΛݟͯΈΔ ඞ্ͣԼࠨӈͷTBGF"SFBͷϚʔδϯ͕ͭ͘
DPOUFOU*OTFU"EKVTUNFOU#FIBWJPS TDSPMM7JFXDPOUFOU*OTFU"EKVTUNFOU#FIBWJPSOFWFS ඞͣTBGF"SFBແࢹ͞ΕΔ w6*4DSPMM7JFXͷதʹXJEUI͕ IFJHIU͕ͷ7JFX͕ೖ͍ͬͯΔ wDPOUFOU4J[Fதʹஔ͍͍ͯΔ7JFXͱಉ͡αΠζͱ͢Δ ͭ·ΓਨํͷΈεΫϩʔϧՄ w-BOETDBQFͰਨํҰ൪Լ·ͰεΫϩʔϧͨ࣌͠ʹϚʔδϯ͕Ͳ͏ͳΔ͔ΛݟͯΈΔ
DPOUFOU*OTFU"EKVTUNFOU#FIBWJPS TDSPMM7JFXDPOUFOU*OTFU"EKVTUNFOU#FIBWJPSTDSPMMBCMF"YFT εΫϩʔϧՄೳͳྖҬ ͜͜Ͱਨํ ͷΈʹϚʔδϯ͕ͭ͘ w6*4DSPMM7JFXͷதʹXJEUI͕ IFJHIU͕ͷ7JFX͕ೖ͍ͬͯΔ wDPOUFOU4J[Fதʹஔ͍͍ͯΔ7JFXͱಉ͡αΠζͱ͢Δ ͭ·ΓਨํͷΈεΫϩʔϧՄ
w-BOETDBQFͰਨํҰ൪Լ·ͰεΫϩʔϧͨ࣌͠ʹϚʔδϯ͕Ͳ͏ͳΔ͔ΛݟͯΈΔ
DPOUFOU*OTFU"EKVTUNFOU#FIBWJPS TDSPMM7JFXDPOUFOU*OTFU"EKVTUNFOU#FIBWJPSBVUPNBUJD جຊతʹTDSPMMBCMF"YJTͱಉ͡ɻBVUPNBUJDBMMZ"EKVTUT4DSPMM7JFX*OTFUT͕USVFͳΒɺ εΫϩʔϧՄೳͰ͋Ζ͏ͱͳ͔Ζ͏ͱ/BWJHBUJPO$POUSPMMFSʹର͢Δ্෦Ϛʔδϯͭ͘ ޙํޓͷͨΊͷػೳ w6*4DSPMM7JFXͷதʹXJEUI͕ IFJHIU͕ͷ7JFX͕ೖ͍ͬͯΔ wDPOUFOU4J[Fதʹஔ͍͍ͯΔ7JFXͱಉ͡αΠζͱ͢Δ ͭ·ΓਨํͷΈεΫϩʔϧՄ
w-BOETDBQFͰਨํҰ൪Լ·ͰεΫϩʔϧͨ࣌͠ʹϚʔδϯ͕Ͳ͏ͳΔ͔ΛݟͯΈΔ
BEKVTUFE$POUFOU*OTFU w TBGF"SFBΛߟྀͯࣗ͠ಈͰηοτ͞ΕΔDPOUFOU*OTFUTͷ w DPOUFOU*OTFUTʹΛηοτ͢ΔͱTBGF"SFB DPOUFOU*OTFUTͷ͕ηο τ͞ΕΔ w DPOUFOU*OTFU"EKVTUNFOU#FIBWJPSʹΑͬͯɺ͜ͷ͕TBGF"SFBΛߟྀ͢ Δ͔ܾ·Δ
OFWFSͩͱTBGF"SFBߟྀ͞Εͳ͍
BEKVTUFE$POUFOU*OTFU PWFSSJEFGVODWJFX%JE"QQFBS @BOJNBUFE#PPM \ TVQFSWJFX%JE"QQFBS BOJNBUFE QSJOU TDSPMM7JFXBEKVTUFE$POUFOU*OTFU 6*&EHF*OTFUT
UPQ MFGU CPUUPN SJHIU ɹɹQSJOU TDSPMM7JFXDPOUFOU*OTFU 6*&EHF*OTFUT UPQ MFGU CPUUPN SJHIU TDSPMM7JFXDPOUFOU*OTFU6*&EHF*OTFUT UPQ MFGU CPUUPN SJHIU QSJOU TDSPMM7JFXBEKVTUFE$POUFOU*OTFU 6*&EHF*OTFUT UPQ MFGU CPUUPN SJHIU ^
TDSPMM7JFX%JE$IBOHF"EKVTUFE$POUFOU*OTFU @ w ઌఔͷBEKVTUFE$POUFOU*OTFUͷ͕ॻ͖ΘΔͱݺΕΔ
6*5BCMF7JFX
JOTFUT$POUFOU7JFXT5P4BGF"SFB w ηϧͷDPOUFOU7JFX͕TBGF"SFBΛߟྀͨ͠ྖҬʹදࣔ͞ΕΔ͔ܾΊΒΕΔ w σϑΥϧτUSVFͰDPOUFOU7JFXTBGF"SFBͷӨڹΛड͚Δ
JOTFUT$POUFOU7JFXT5P4BGF"SFB UBCMF7JFXJOTFUT$POUFOU7JFXT5P4BGF"SFBGBMTF UBCMF7JFXJOTFUT$POUFOU7JFXT5P4BGF"SFBUSVF
6*$PMMFDUJPO7JFX'MPX-BZPVU
TFDUJPO*OTFU3FGFSFODF w 6*$PMMFDUJPO7JFX'MPX-BZPVUͷTFDUJPO*OTFUTʹରͯ͠ɺTBGF"SFB -BZPVU.BSHJO $POUFOU*OTFUTͷͲΕΛߟྀͯ͠ઃఆ͢Δ͔ܾΊΒΕΔ w GSPN$POUFOU*OTFU GSPN4BGF"SFB GSPN-BZPVU.BSHJOTͷFOVNͰߏ
͞ΕΔ w σϑΥϧτGSPN$POUFOU*OTFUͰɺTFDUJPO*OTFUTDPOUFOU*OTFUTͷӨ ڹΛड͚Δ
TFDUJPO*OTFU3FGFSFODF JGMFUMBZPVUDPMMFDUJPO7JFXDPMMFDUJPO7JFX-BZPVUBT 6*$PMMFDUJPO7JFX'MPX-BZPVU\ MBZPVUTFDUJPO*OTFU3FGFSFODFʜ͜͜ͷΛม͑Δ ^ GSPN$POUFOU*OTFU GSPN-BZPVU.BSHJOT GSPN4BGF"SFB
·ͱΊ w ҙ֎ͱ4BGF"SFBབྷΈͷ"1*%J⒎ଟ͔ͬͨ w ݩʑෳࡶͩͬͨϚʔδϯབྷΈͷϨΠΞτ͕ߋʹෳࡶʹͳ͖͍ͬͯͯΔҹ w υΩϡϝϯτΛಡΜͰԿ͕ى͖Δͷ͔ΠϚΠν͔ͭΈʹ͘͘ɺ࣮ࡍʹಈ͔͠ ͯΈͳ͍ͱΘ͔Βͳ͔ͬͨ w ϓϩύςΟͷΛมߋ͢ΔͱԿ͕ى͖Δͷ͔
w ϥΠϑαΠΫϧͲͷλΠϛϯάͰಈ͍ͯɺ͕Ͳ͏มΘΔͷ͔
αϯϓϧʹͬͨΞϓϦ ͪ͜Βஔ͍͍ͯ·͢ IUUQTHJUIVCDPNLB[VIJSP4BGF"SFB4BNQMF
ࢀߟࢿྉ w 6*,JU"QQMF%FWFMPQFS w IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJU w #VJMEJOH"QQTGPSJ1IPOF9 w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZGBMM w
%FTJHOJOHGPSJ1IPOF9 w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZGBMM w 6QEBUJOH:PVS"QQGPSJ04 w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED w 6*,JUJ04UP"1*%J⒎FSFODFT w IUUQDPEFXPSLTIPQOFUPCKDEJ⒎TELEJ⒎TJPT6*,JUIUNM